<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>Viktor Adam's blog</title><link>https://blog.viktoradam.net/</link><description>Open-source adventures with containers, free hosted services and CI/CD</description><generator>Hugo 0.54.0 -- gohugo.io</generator><language>en-us</language><lastBuildDate>Mon, 11 May 2020 10:20:00 +0000</lastBuildDate><atom:link href="https://blog.viktoradam.net/index.xml" rel="self" type="application/rss+xml"/><item><title>Monitoring Flask microservices with Prometheus</title><link>https://blog.viktoradam.net/2020/05/11/prometheus-flask-exporter/</link><pubDate>Mon, 11 May 2020 10:20:00 +0000</pubDate><guid>https://blog.viktoradam.net/2020/05/11/prometheus-flask-exporter/</guid><description>Learn about how easy it is to monitor your Python Flask applications with Prometheus using an exporter library!</description><category>Flask</category><category>Prometheus</category><category>Python</category><category>Monitoring</category><dc:creator>Viktor Adam</dc:creator><media:content url="https://blog.viktoradam.net/2020/05/11/prometheus-flask-exporter/cover.jpg" medium="image"/></item><item><title>Netlify &amp;#43; Hugo</title><link>https://blog.viktoradam.net/2019/03/28/netlify-hugo/</link><pubDate>Thu, 28 Mar 2019 13:20:00 +0000</pubDate><guid>https://blog.viktoradam.net/2019/03/28/netlify-hugo/</guid><description>Leaving the Ghost blog engine for the amazing Hugo plus Netlify duo, or: static site generators FTW!</description><category>Automation</category><category>Home Lab</category><category>Golang</category><dc:creator>Viktor Adam</dc:creator><media:content url="https://blog.viktoradam.net/2019/03/28/netlify-hugo/cover.jpg" medium="image"/></item><item><title>Moving home: To AWS with EC2, Lambda, API Gateway and Cloudflare for free</title><link>https://blog.viktoradam.net/2018/08/30/moving-home/</link><pubDate>Thu, 30 Aug 2018 07:50:55 +0000</pubDate><guid>https://blog.viktoradam.net/2018/08/30/moving-home/</guid><description>The story about migrating my home stack to AWS with EC2, Lambda, API Gateway and Cloudflare for free, using Terraform for provisioning and changes.</description><category>Automation</category><category>Home Lab</category><category>AWS</category><category>Terraform</category><dc:creator>Viktor Adam</dc:creator><media:content url="https://blog.viktoradam.net/2018/08/30/moving-home/cover.jpg" medium="image"/></item><item><title>Githooks: auto-install hooks</title><link>https://blog.viktoradam.net/2018/07/26/githooks-auto-install-hooks/</link><pubDate>Thu, 26 Jul 2018 08:32:09 +0000</pubDate><guid>https://blog.viktoradam.net/2018/07/26/githooks-auto-install-hooks/</guid><description>Git hooks are a great to execute custom actions on Git events on the local machine, but they have some shortcomings I&amp;#39;m trying to address with the Githooks project.</description><category>Git</category><category>Automation</category><category>Testing</category><dc:creator>Viktor Adam</dc:creator><media:content url="https://blog.viktoradam.net/2018/07/26/githooks-auto-install-hooks/cover.jpg" medium="image"/></item><item><title>Podlike templates</title><link>https://blog.viktoradam.net/2018/06/19/podlike-templates/</link><pubDate>Tue, 19 Jun 2018 07:38:43 +0000</pubDate><guid>https://blog.viktoradam.net/2018/06/19/podlike-templates/</guid><description>See a templated approach to define co-located and coupled containers as services on Docker Swarm mode, to make it easier to have &amp;#34;pods&amp;#34; without having Kubernetes.</description><category>Podlike</category><category>Swarm</category><category>Docker</category><category>Automation</category><dc:creator>Viktor Adam</dc:creator><media:content url="https://blog.viktoradam.net/2018/06/19/podlike-templates/cover.jpg" medium="image"/></item><item><title>Podlike: example use-cases</title><link>https://blog.viktoradam.net/2018/05/24/podlike-example-use-cases/</link><pubDate>Thu, 24 May 2018 07:31:19 +0000</pubDate><guid>https://blog.viktoradam.net/2018/05/24/podlike-example-use-cases/</guid><description>If we can run co-located containers on Docker Swarm mode, what can we use them for? This post goes through a few examples, and explains the setup.</description><category>Podlike</category><category>Swarm</category><category>Docker</category><category>Microservices</category><dc:creator>Viktor Adam</dc:creator><media:content url="https://blog.viktoradam.net/2018/05/24/podlike-example-use-cases/cover.jpg" medium="image"/></item><item><title>Podlike</title><link>https://blog.viktoradam.net/2018/05/14/podlike/</link><pubDate>Mon, 14 May 2018 07:05:53 +0000</pubDate><guid>https://blog.viktoradam.net/2018/05/14/podlike/</guid><description>Running co-located containers with shared resources is not a Kubernetes exclusive feature. Intro for an app, that enables emulated pods for Docker Swarm.</description><category>Swarm</category><category>Docker</category><category>Microservices</category><category>Podlike</category><dc:creator>Viktor Adam</dc:creator><media:content url="https://blog.viktoradam.net/2018/05/14/podlike/cover.png" medium="image"/></item><item><title>Gating on README updates</title><link>https://blog.viktoradam.net/2018/05/08/gating-on-readme-updates/</link><pubDate>Tue, 08 May 2018 07:39:45 +0000</pubDate><guid>https://blog.viktoradam.net/2018/05/08/gating-on-readme-updates/</guid><description>Maybe you also often forget to update your READMEs as new features get added? How can we avoid this? Add unit tests for it, and make your build fail!</description><category>Testing</category><category>Programming</category><category>Open-Source</category><dc:creator>Viktor Adam</dc:creator><media:content url="https://blog.viktoradam.net/2018/05/08/gating-on-readme-updates/cover.png" medium="image"/></item><item><title>Go explore</title><link>https://blog.viktoradam.net/2018/04/26/go-explore/</link><pubDate>Thu, 26 Apr 2018 08:30:47 +0000</pubDate><guid>https://blog.viktoradam.net/2018/04/26/go-explore/</guid><description>Tales of adventures in GoLand, one month in. A subjective look at the Go language, after having spent about a month using it, with zero previous experience.</description><category>Golang</category><category>Programming</category><dc:creator>Viktor Adam</dc:creator><media:content url="https://blog.viktoradam.net/2018/04/26/go-explore/cover.jpg" medium="image"/></item><item><title>Home Lab - Open sourcing the stacks</title><link>https://blog.viktoradam.net/2018/03/15/home-lab-open-sourcing-the-stacks/</link><pubDate>Thu, 15 Mar 2018 08:59:27 +0000</pubDate><guid>https://blog.viktoradam.net/2018/03/15/home-lab-open-sourcing-the-stacks/</guid><description>The final post in the series describes the various Swarm stacks I now have in GitHub, and explains the workflows for updating them using webhooks.</description><category>Home Lab</category><category>CI/CD</category><category>Docker</category><category>Swarm</category><dc:creator>Viktor Adam</dc:creator><media:content url="https://blog.viktoradam.net/2018/03/15/home-lab-open-sourcing-the-stacks/cover.jpg" medium="image"/></item><item><title>Swarm secrets made easy</title><link>https://blog.viktoradam.net/2018/02/28/swarm-secrets-made-easy/</link><pubDate>Wed, 28 Feb 2018 21:13:55 +0000</pubDate><guid>https://blog.viktoradam.net/2018/02/28/swarm-secrets-made-easy/</guid><description>A recent Docker update came with an important change for service secrets, that enables an easier way to manage and update them when deploying Swarm stacks.</description><category>Docker</category><category>Swarm</category><category>Automation</category><dc:creator>Viktor Adam</dc:creator><media:content url="https://blog.viktoradam.net/2018/02/28/swarm-secrets-made-easy/cover.jpg" medium="image"/></item><item><title>Automatic domain and SSL management</title><link>https://blog.viktoradam.net/2018/02/17/auto-dns-and-ssl-management/</link><pubDate>Sat, 17 Feb 2018 11:56:45 +0000</pubDate><guid>https://blog.viktoradam.net/2018/02/17/auto-dns-and-ssl-management/</guid><description>Manage DNS records on Cloudflare, secure the communication using certificates from Let&amp;#39;s Encrypt, and how to make this painless and fully automated.</description><category>Automation</category><category>Home Lab</category><category>Docker</category><dc:creator>Viktor Adam</dc:creator><media:content url="https://blog.viktoradam.net/2018/02/17/auto-dns-and-ssl-management/cover.jpg" medium="image"/></item><item><title>Home Lab - Monitoring madness</title><link>https://blog.viktoradam.net/2018/02/06/home-lab-part5-monitoring-madness/</link><pubDate>Tue, 06 Feb 2018 22:40:55 +0000</pubDate><guid>https://blog.viktoradam.net/2018/02/06/home-lab-part5-monitoring-madness/</guid><description>Having looked at the configuration and setup of the services in the Home Lab, it&amp;#39;s time to talk about how we can monitor them, and manage their logs.</description><category>Home Lab</category><category>Monitoring</category><category>Docker</category><dc:creator>Viktor Adam</dc:creator><media:content url="https://blog.viktoradam.net/2018/02/06/home-lab-part5-monitoring-madness/cover.jpg" medium="image"/></item><item><title>Home Lab - Configuring the cattle</title><link>https://blog.viktoradam.net/2018/01/20/home-lab-part4-auto-configuration/</link><pubDate>Sat, 20 Jan 2018 14:44:21 +0000</pubDate><guid>https://blog.viktoradam.net/2018/01/20/home-lab-part4-auto-configuration/</guid><description>Explaining the way, auto-configuration works in my Home Lab. Driven by Docker, generated by Python tools, fully automated (almost).</description><category>Home Lab</category><category>Docker</category><category>Swarm</category><category>Monitoring</category><dc:creator>Viktor Adam</dc:creator><media:content url="https://blog.viktoradam.net/2018/01/20/home-lab-part4-auto-configuration/cover.jpg" medium="image"/></item><item><title>Home Lab - Swarming servers</title><link>https://blog.viktoradam.net/2018/01/13/home-lab-part3-swarm-cluster/</link><pubDate>Sat, 13 Jan 2018 14:30:20 +0000</pubDate><guid>https://blog.viktoradam.net/2018/01/13/home-lab-part3-swarm-cluster/</guid><description>This post in the Home Lab series explains how I extended my stack to multiple servers with Docker Swarm and some of the configuration changes around it.</description><category>Home Lab</category><category>Docker</category><category>Swarm</category><dc:creator>Viktor Adam</dc:creator><media:content url="https://blog.viktoradam.net/2018/01/13/home-lab-part3-swarm-cluster/cover.jpg" medium="image"/></item><item><title>Home Lab - Setting up for Docker</title><link>https://blog.viktoradam.net/2018/01/05/home-lab-part-2-docker-setup/</link><pubDate>Fri, 05 Jan 2018 22:26:47 +0000</pubDate><guid>https://blog.viktoradam.net/2018/01/05/home-lab-part-2-docker-setup/</guid><description>Deep dive into the details of what is involved setting up for an ever-growing number of applications on a handful of physical servers on my Home Lab.</description><category>Home Lab</category><category>Docker</category><dc:creator>Viktor Adam</dc:creator><media:content url="https://blog.viktoradam.net/2018/01/05/home-lab-part-2-docker-setup/cover.jpg" medium="image"/></item><item><title>Home Lab - Overview</title><link>https://blog.viktoradam.net/2018/01/03/home-lab-part1-overview/</link><pubDate>Wed, 03 Jan 2018 21:25:31 +0000</pubDate><guid>https://blog.viktoradam.net/2018/01/03/home-lab-part1-overview/</guid><description>This post is the first in a series explaining the setup I use to run my websites and their related services at home on cheap hardware using containers.</description><category>Home Lab</category><category>Docker</category><category>Microservices</category><category>Monitoring</category><dc:creator>Viktor Adam</dc:creator><media:content url="https://blog.viktoradam.net/2018/01/03/home-lab-part1-overview/cover.jpg" medium="image"/></item><item><title>Building and shipping open-source</title><link>https://blog.viktoradam.net/2017/12/23/continuous-integration-with-travis-ci/</link><pubDate>Sat, 23 Dec 2017 22:17:53 +0000</pubDate><guid>https://blog.viktoradam.net/2017/12/23/continuous-integration-with-travis-ci/</guid><description>Continuous integration for my open-source projects with Travis CI and code quality services with Coveralls and Code Climate.</description><category>CI/CD</category><category>Open-Source</category><category>Travis</category><category>Git</category><dc:creator>Viktor Adam</dc:creator><media:content url="https://blog.viktoradam.net/2017/12/23/continuous-integration-with-travis-ci/cover.png" medium="image"/></item><item><title>Python microservices with Flask</title><link>https://blog.viktoradam.net/2017/12/16/python-microservices-with-flask/</link><pubDate>Sat, 16 Dec 2017 21:22:30 +0000</pubDate><guid>https://blog.viktoradam.net/2017/12/16/python-microservices-with-flask/</guid><description>This is the story of why I chose to write my web applications in Python using the open-source Flask framework.</description><category>Flask</category><category>Python</category><category>Microservices</category><dc:creator>Viktor Adam</dc:creator><media:content url="https://blog.viktoradam.net/2017/12/16/python-microservices-with-flask/cover.jpg" medium="image"/></item><item><title>In pursuit of automated continuous everything</title><link>https://blog.viktoradam.net/2017/12/14/intro/</link><pubDate>Thu, 14 Dec 2017 21:08:26 +0000</pubDate><guid>https://blog.viktoradam.net/2017/12/14/intro/</guid><description>Blogging on open-source tools, containers, free hosted services, all kinds of DevOps trickery, automation with continuous integration and delivery.</description><category>Intro</category><dc:creator>Viktor Adam</dc:creator><media:content url="https://blog.viktoradam.net/2017/12/14/intro/cover.jpg" medium="image"/></item></channel></rss>