Viktor Adam's bloghttps://blog.viktoradam.net/Open-source adventures with containers, free hosted services and CI/CDHugo 0.54.0 -- gohugo.ioen-usMon, 11 May 2020 10:20:00 +0000Monitoring Flask microservices with Prometheushttps://blog.viktoradam.net/2020/05/11/prometheus-flask-exporter/Mon, 11 May 2020 10:20:00 +0000https://blog.viktoradam.net/2020/05/11/prometheus-flask-exporter/Learn about how easy it is to monitor your Python Flask applications with Prometheus using an exporter library!FlaskPrometheusPythonMonitoringViktor AdamNetlify + Hugohttps://blog.viktoradam.net/2019/03/28/netlify-hugo/Thu, 28 Mar 2019 13:20:00 +0000https://blog.viktoradam.net/2019/03/28/netlify-hugo/Leaving the Ghost blog engine for the amazing Hugo plus Netlify duo, or: static site generators FTW!AutomationHome LabGolangViktor AdamMoving home: To AWS with EC2, Lambda, API Gateway and Cloudflare for freehttps://blog.viktoradam.net/2018/08/30/moving-home/Thu, 30 Aug 2018 07:50:55 +0000https://blog.viktoradam.net/2018/08/30/moving-home/The story about migrating my home stack to AWS with EC2, Lambda, API Gateway and Cloudflare for free, using Terraform for provisioning and changes.AutomationHome LabAWSTerraformViktor AdamGithooks: auto-install hookshttps://blog.viktoradam.net/2018/07/26/githooks-auto-install-hooks/Thu, 26 Jul 2018 08:32:09 +0000https://blog.viktoradam.net/2018/07/26/githooks-auto-install-hooks/Git hooks are a great to execute custom actions on Git events on the local machine, but they have some shortcomings I'm trying to address with the Githooks project.GitAutomationTestingViktor AdamPodlike templateshttps://blog.viktoradam.net/2018/06/19/podlike-templates/Tue, 19 Jun 2018 07:38:43 +0000https://blog.viktoradam.net/2018/06/19/podlike-templates/See a templated approach to define co-located and coupled containers as services on Docker Swarm mode, to make it easier to have "pods" without having Kubernetes.PodlikeSwarmDockerAutomationViktor AdamPodlike: example use-caseshttps://blog.viktoradam.net/2018/05/24/podlike-example-use-cases/Thu, 24 May 2018 07:31:19 +0000https://blog.viktoradam.net/2018/05/24/podlike-example-use-cases/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.PodlikeSwarmDockerMicroservicesViktor AdamPodlikehttps://blog.viktoradam.net/2018/05/14/podlike/Mon, 14 May 2018 07:05:53 +0000https://blog.viktoradam.net/2018/05/14/podlike/Running co-located containers with shared resources is not a Kubernetes exclusive feature. Intro for an app, that enables emulated pods for Docker Swarm.SwarmDockerMicroservicesPodlikeViktor AdamGating on README updateshttps://blog.viktoradam.net/2018/05/08/gating-on-readme-updates/Tue, 08 May 2018 07:39:45 +0000https://blog.viktoradam.net/2018/05/08/gating-on-readme-updates/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!TestingProgrammingOpen-SourceViktor AdamGo explorehttps://blog.viktoradam.net/2018/04/26/go-explore/Thu, 26 Apr 2018 08:30:47 +0000https://blog.viktoradam.net/2018/04/26/go-explore/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.GolangProgrammingViktor AdamHome Lab - Open sourcing the stackshttps://blog.viktoradam.net/2018/03/15/home-lab-open-sourcing-the-stacks/Thu, 15 Mar 2018 08:59:27 +0000https://blog.viktoradam.net/2018/03/15/home-lab-open-sourcing-the-stacks/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.Home LabCI/CDDockerSwarmViktor AdamSwarm secrets made easyhttps://blog.viktoradam.net/2018/02/28/swarm-secrets-made-easy/Wed, 28 Feb 2018 21:13:55 +0000https://blog.viktoradam.net/2018/02/28/swarm-secrets-made-easy/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.DockerSwarmAutomationViktor AdamAutomatic domain and SSL managementhttps://blog.viktoradam.net/2018/02/17/auto-dns-and-ssl-management/Sat, 17 Feb 2018 11:56:45 +0000https://blog.viktoradam.net/2018/02/17/auto-dns-and-ssl-management/Manage DNS records on Cloudflare, secure the communication using certificates from Let's Encrypt, and how to make this painless and fully automated.AutomationHome LabDockerViktor AdamHome Lab - Monitoring madnesshttps://blog.viktoradam.net/2018/02/06/home-lab-part5-monitoring-madness/Tue, 06 Feb 2018 22:40:55 +0000https://blog.viktoradam.net/2018/02/06/home-lab-part5-monitoring-madness/Having looked at the configuration and setup of the services in the Home Lab, it's time to talk about how we can monitor them, and manage their logs.Home LabMonitoringDockerViktor AdamHome Lab - Configuring the cattlehttps://blog.viktoradam.net/2018/01/20/home-lab-part4-auto-configuration/Sat, 20 Jan 2018 14:44:21 +0000https://blog.viktoradam.net/2018/01/20/home-lab-part4-auto-configuration/Explaining the way, auto-configuration works in my Home Lab. Driven by Docker, generated by Python tools, fully automated (almost).Home LabDockerSwarmMonitoringViktor AdamHome Lab - Swarming servershttps://blog.viktoradam.net/2018/01/13/home-lab-part3-swarm-cluster/Sat, 13 Jan 2018 14:30:20 +0000https://blog.viktoradam.net/2018/01/13/home-lab-part3-swarm-cluster/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.Home LabDockerSwarmViktor AdamHome Lab - Setting up for Dockerhttps://blog.viktoradam.net/2018/01/05/home-lab-part-2-docker-setup/Fri, 05 Jan 2018 22:26:47 +0000https://blog.viktoradam.net/2018/01/05/home-lab-part-2-docker-setup/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.Home LabDockerViktor AdamHome Lab - Overviewhttps://blog.viktoradam.net/2018/01/03/home-lab-part1-overview/Wed, 03 Jan 2018 21:25:31 +0000https://blog.viktoradam.net/2018/01/03/home-lab-part1-overview/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.Home LabDockerMicroservicesMonitoringViktor AdamBuilding and shipping open-sourcehttps://blog.viktoradam.net/2017/12/23/continuous-integration-with-travis-ci/Sat, 23 Dec 2017 22:17:53 +0000https://blog.viktoradam.net/2017/12/23/continuous-integration-with-travis-ci/Continuous integration for my open-source projects with Travis CI and code quality services with Coveralls and Code Climate.CI/CDOpen-SourceTravisGitViktor AdamPython microservices with Flaskhttps://blog.viktoradam.net/2017/12/16/python-microservices-with-flask/Sat, 16 Dec 2017 21:22:30 +0000https://blog.viktoradam.net/2017/12/16/python-microservices-with-flask/This is the story of why I chose to write my web applications in Python using the open-source Flask framework.FlaskPythonMicroservicesViktor AdamIn pursuit of automated continuous everythinghttps://blog.viktoradam.net/2017/12/14/intro/Thu, 14 Dec 2017 21:08:26 +0000https://blog.viktoradam.net/2017/12/14/intro/Blogging on open-source tools, containers, free hosted services, all kinds of DevOps trickery, automation with continuous integration and delivery.IntroViktor Adam
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<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" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
<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 &#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&#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 &#34;pods&#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&#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&#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>