<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>tatusl.dev</title>
    <link>https://tatusl.dev/</link>
    <description>Recent content on tatusl.dev</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Sun, 02 Feb 2025 16:30:48 +0000</lastBuildDate>
    <atom:link href="https://tatusl.dev/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Building Customized OS Images on Hetzner Cloud With Packer</title>
      <link>https://tatusl.dev/posts/customized-hcloud-images-with-packer/</link>
      <pubDate>Sun, 02 Feb 2025 16:30:48 +0000</pubDate>
      <guid>https://tatusl.dev/posts/customized-hcloud-images-with-packer/</guid>
      <description>&lt;p&gt;I have had a server running my IRC client &lt;a href=&#34;https://irssi.org/&#34;&gt;irssi&lt;/a&gt; for almost 20 years. During recent years, the server has been the smallest and cheapest possible VPS from providers like Hetzner Cloud and Scaleway. Usually, I have provisioned the VM instance either manually or with Terraform, but after that, the rest of the configuration has been manual.&lt;/p&gt;&#xA;&lt;p&gt;I really like immutable and repeatable infrastructure, and I wanted that also for this tiny VM. I&amp;rsquo;ve used Packer in some of my earlier projects and found it easy and straightforward to use. For this project, I wanted to use Ansible as the provisioner, because I had a couple of ready-made roles from earlier testing to configure base system, &lt;code&gt;sshd&lt;/code&gt;, etc.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Blog Revival</title>
      <link>https://tatusl.dev/posts/blog-revival/</link>
      <pubDate>Fri, 31 Jan 2025 05:34:39 +0000</pubDate>
      <guid>https://tatusl.dev/posts/blog-revival/</guid>
      <description>&lt;p&gt;It has been almost five years since I last posted to this blog. A lot has happened in the world and in my life since then. Lately, I have had more energy for hobby projects and tinkering outside of work. It has been nice to see that I still have the inner curiosity for IT, learning new technologies and concepts, and finding out how things work.&lt;/p&gt;&#xA;&lt;p&gt;I have also felt that it could be fun to write about my experiments and projects. So, I decided to revive this blog. I started by checking if I could still build the site with Hugo. I didn&amp;rsquo;t have high hopes, because I assumed there had been breaking changes in Hugo during these past years. I found out that my theme wasn&amp;rsquo;t compatible with the latest Hugo version. I considered trying to fix things for a while but then decided it was time for a new theme.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Load Kubernetes configs from different files</title>
      <link>https://tatusl.dev/posts/kubeconfig-per-file/</link>
      <pubDate>Mon, 27 Apr 2020 08:45:43 +0300</pubDate>
      <guid>https://tatusl.dev/posts/kubeconfig-per-file/</guid>
      <description>&lt;p&gt;By default, Kubernetes stores kube config files to &lt;code&gt;$HOME/.kube/config&lt;/code&gt;. If there are configurations for multiple clusters, all of them are stored in the same file. I find this rather unclear, as a configuration set consists of cluster, user, and context, which are defined in different parts of the file. &lt;code&gt;kubectl config&lt;/code&gt; subcommands can be used to manipulate this file and to list configured contexts on clusters.&lt;/p&gt;&#xA;&lt;p&gt;Another approach to configuration management is to use &lt;code&gt;KUBECONFIG&lt;/code&gt; environment variable. It can be used to point kubectl to use a non-default configuration file, so one could have multiple configuration files and switch between them by exporting &lt;code&gt;KUBECONFIG&lt;/code&gt; to point to the correct file. However, with this approach a user can&amp;rsquo;t use the awesome &lt;a href=&#34;https://github.com/ahmetb/kubectx&#34;&gt;kubectx&lt;/a&gt; tool to quickly switch between contexts.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Protecting AWS access keys with AWS Vault</title>
      <link>https://tatusl.dev/posts/aws-vault/</link>
      <pubDate>Mon, 10 Feb 2020 19:22:43 +0200</pubDate>
      <guid>https://tatusl.dev/posts/aws-vault/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;AWS Vault is a tool to securely store and access AWS credentials in a development environment.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/99designs/aws-vault&#34;&gt;https://github.com/99designs/aws-vault&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;In software development, local development environment can be considered as one of the attack vectors. In this context, malicious script or malware could steal AWS access keys, or someone could get them if developer&amp;rsquo;s workstation is left unlocked. AWS Vault helps to mitigate this risk by encrypting access keys and exposing short-lived temporary keys to local environment.&lt;/p&gt;</description>
    </item>
    <item>
      <title>New decade, new blog</title>
      <link>https://tatusl.dev/posts/new-decade-new-blog/</link>
      <pubDate>Sat, 25 Jan 2020 21:21:42 +0200</pubDate>
      <guid>https://tatusl.dev/posts/new-decade-new-blog/</guid>
      <description>&lt;p&gt;A long time has gone since my last blog post, a bit over three and half years. And a lot has happened during that time. I moved from Turku to first Espoo and then Helsinki. I also started in my first permanent IT job, switched jobs to company I was co-founding, and graduated from university as Master of Science.&lt;/p&gt;&#xA;&lt;p&gt;Retrospectively, I&amp;rsquo;m very happy with this progress. Mostly because I feel I have evolved from inexperienced junior to more experience professional who has confidence in his skills and abilities. There is of course still a lot to learn and develop, like always. But I think that&amp;rsquo;s the joy in this profession, and in life in general.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Compile LaTex documents with Jenkins and publish pdf files automatically</title>
      <link>https://tatusl.dev/posts/latex-jenkins/</link>
      <pubDate>Thu, 26 May 2016 11:20:56 +0200</pubDate>
      <guid>https://tatusl.dev/posts/latex-jenkins/</guid>
      <description>&lt;p&gt;Writing my master&amp;rsquo;s thesis has been one of my main projects since September last year. Luckily, the end is near and my thesis is finished soon. At the start of my project, I wanted to come up with a solution where I can locally edit LaTeX files with Texmaker and at the end of a writing session push the changes to Git repository. After that the system would automatically compile Latex to pdf and publish the pdf file to the webserver automatically. Advantage of this is that I can provide my supervisors single URL which always points to the latest of the thesis. With right packages installed, LaTeX can be done in Linux command line. This means the task can be automated with Jenkins.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Blog Technical Workflow</title>
      <link>https://tatusl.dev/posts/blog-technical-workflow/</link>
      <pubDate>Sat, 19 Mar 2016 13:05:23 +0200</pubDate>
      <guid>https://tatusl.dev/posts/blog-technical-workflow/</guid>
      <description>&lt;h2 id=&#34;technical-side-of-the-blog&#34;&gt;Technical side of the blog&lt;/h2&gt;&#xA;&lt;p&gt;I could have picked some blog engine like Wordpress of Ghost, but I decided to go towards static side generators. I really like the idea that all of my content is in static files and I don&amp;rsquo;t need more than a web server to host my blog. With static files, I can version control my blog and content with Git and I don&amp;rsquo;t need to worry about security updates to the blog engine. Also, serving static content is very resource friendly with web server like Nginx. In fact, this blog is hosted in the cheapest RamNode VPS with 128 MB memory, costing 15$/year. That&amp;rsquo;s pretty low-end server, but it should be more than enough for small-scale website like this.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Welcome</title>
      <link>https://tatusl.dev/posts/welcome/</link>
      <pubDate>Sat, 19 Mar 2016 10:56:59 +0200</pubDate>
      <guid>https://tatusl.dev/posts/welcome/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve had an idea about starting my personal tech blog for a long time and finally I had the motivation (and time) to set things up. The majority of the blog posts will concern my explorations in the field of software and information technology. Their main purpose is to act as a note for myself on how to setup, configure and do stuff. At the same time, I wish that someone will find these posts-to-be useful or maybe someone will learn from the posts. After all, I have found solutions to my problems from people&amp;rsquo;s blogs plenty of times.&lt;/p&gt;</description>
    </item>
    <item>
      <title>About</title>
      <link>https://tatusl.dev/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://tatusl.dev/about/</guid>
      <description>&lt;p&gt;Hello, I&amp;rsquo;m Tatu Seppä-Lassila from Finland. This blog is a place where I write about my experiences, thoughts, and ideas related to technology.&lt;/p&gt;&#xA;&lt;p&gt;I work as a DevOps Consultant at &lt;a href=&#34;https://polarsquad.com&#34;&gt;Polar Squad&lt;/a&gt;. Professionally my aspiration is building cloud infrastructures, which are automated, scalable, resilient, well-architected, and enable rapid software delivery. In addition, I want to see and help organizations to promote DevOps culture, encompassing shared responsibility, common goals, extensive collaboration, and supportive working environment.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
