<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Packer on Lykins Blog</title><link>https://blog.lykins.xyz/tags/packer/</link><description>Recent content in Packer on Lykins Blog</description><generator>Hugo</generator><language>en-us</language><copyright>© Benjamin Lykins</copyright><lastBuildDate>Tue, 02 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.lykins.xyz/tags/packer/index.xml" rel="self" type="application/rss+xml"/><item><title>Codified Observability — Layer 1: Images</title><link>https://blog.lykins.xyz/posts/codified-observability-images/</link><pubDate>Tue, 02 Jun 2026 00:00:00 +0000</pubDate><guid>https://blog.lykins.xyz/posts/codified-observability-images/</guid><description>&lt;p&gt;This is part 2 of a series based on my &lt;a href="https://devopscon.io/monitoring-observability/codified-observability-devops-teams/"&gt;DevOpsCon San Diego 2026&lt;/a&gt; talk. &lt;a href="https://blog.lykins.xyz/posts/codified-observability-intro/"&gt;Part 1&lt;/a&gt; covered why reactive observability fails and laid out the four layers. This post is Layer 1 — Images.&lt;/p&gt;
&lt;p&gt;The code lives in &lt;a href="https://gitlab.com/lykins/devopscon-2026/-/tree/main/1-images"&gt;&lt;code&gt;1-images/&lt;/code&gt;&lt;/a&gt; of the &lt;a href="https://gitlab.com/lykins/devopscon-2026"&gt;devopscon-2026&lt;/a&gt; lab.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Note:
Like the rest of this series, this post was drafted by an agent from content I generated for the &lt;a href="https://devopscon.io/monitoring-observability/codified-observability-devops-teams/"&gt;talk&lt;/a&gt;, as a test of what an agent can plan and produce. See &lt;a href="https://blog.lykins.xyz/posts/codified-observability-intro/"&gt;part 1&lt;/a&gt; for context.&lt;/p&gt;</description></item><item><title>GitHub Actions Pipeline for Multipurpose Packer Templates</title><link>https://blog.lykins.xyz/posts/github-actions-pipeline/</link><pubDate>Tue, 19 Nov 2024 00:00:00 +0000</pubDate><guid>https://blog.lykins.xyz/posts/github-actions-pipeline/</guid><description>&lt;p&gt;At this stage, my setup is complete, and I’m ready to start building images. To automate the image factory, I connected two GitHub Actions workflows in a chain. While additional workflows could be introduced for more specialized images, these are general-purpose images with a basic setup, so a simple two-workflow approach suffices.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Workflows&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Base Image&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The first workflow focuses on creating base images. These images are hardened according to enterprise policies or industry standards, such as NIST, PCI, or other relevant frameworks. In addition to hardening, I ensure that essential infrastructure or application monitoring tools are integrated into the image.&lt;/p&gt;</description></item><item><title>Multipurpose Packer Templates</title><link>https://blog.lykins.xyz/posts/multipurpose-packer-templates/</link><pubDate>Sat, 16 Nov 2024 00:00:00 +0000</pubDate><guid>https://blog.lykins.xyz/posts/multipurpose-packer-templates/</guid><description>&lt;p&gt;We&amp;rsquo;ve now gotten to a point that I have probably the most experience with, and that is with Packer. After Terraform, Packer was the next HashiCorp tool that I picked up. Thankfully, the syntax moved from JSON to HCL a couple of years ago at this point.&lt;/p&gt;
&lt;p&gt;What is a Multipurpose Packer Templates&lt;/p&gt;
&lt;p&gt;Before I get into the weeds, making hyper-generalized, multipurpose templates might be overkill. Really, my goal here is to write a base template which will work with multiple clouds and on premise hosting solutions. This of it as a way to jumpstart your image building process.&lt;/p&gt;</description></item><item><title>Packer Workflows with Jenkins - Building</title><link>https://blog.lykins.xyz/posts/packer-workflows-jenkins-building/</link><pubDate>Wed, 28 Feb 2024 00:00:00 +0000</pubDate><guid>https://blog.lykins.xyz/posts/packer-workflows-jenkins-building/</guid><description>&lt;p&gt;This is the second part of a two-parter. Just realized I was about to write a book if I kept going. Now that we have the necessary instances and setup in part 1, we will continue and start building out our images.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Note:
I am using openSUSE Leap, which will soon be discontinued and only maintained for a few years after 15.6. Alternatives would be either Tumbleweed, MicroOS, and Slowroll.&lt;/p&gt;</description></item><item><title>Packer Workflows with Jenkins - Setup</title><link>https://blog.lykins.xyz/posts/packer-workflows-jenkins-setup/</link><pubDate>Thu, 22 Feb 2024 00:00:00 +0000</pubDate><guid>https://blog.lykins.xyz/posts/packer-workflows-jenkins-setup/</guid><description>&lt;h1 id="introduction"&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Probably most folks know both of these products by now, but I&amp;rsquo;ve ripped a short intro for both.&lt;/p&gt;
&lt;p&gt;And also for a bit of a disclosure. I am by no means an expert in any of this. I run though these out of general curiosity, training, and experience. This should not be followed as a production or development environment guide. This is primarily persona lab setup.&lt;/p&gt;
&lt;p&gt;This is going to most likely be a two-parter. This first part will be setting up the require infrastructure. Next will be setting up a Packer template and running a couple of builds.&lt;/p&gt;</description></item></channel></rss>