{"@attributes":{"version":"2.0"},"channel":{"title":"Posts on DOVH","link":"https:\/\/dovh.io\/posts\/","description":"Recent content in Posts on DOVH","image":{"title":"DOVH","url":"https:\/\/dovh.io\/img\/logo.png","link":"https:\/\/dovh.io\/img\/logo.png"},"generator":"Hugo -- 0.144.2","language":"en","lastBuildDate":"Mon, 24 Apr 2023 09:00:00 +0000","item":[{"title":"Terraform DNS Cloudflare","link":"https:\/\/dovh.io\/posts\/2023-24-04-terraform-dns-cloudflare\/","pubDate":"Mon, 24 Apr 2023 09:00:00 +0000","guid":"https:\/\/dovh.io\/posts\/2023-24-04-terraform-dns-cloudflare\/","description":"<h1 id=\"terraform-dns-cloudflare\">Terraform DNS Cloudflare<\/h1>\n<p>Terraform automates Cloudflare DNS record creation and management, saving time and reducing errors for large domains.<\/p>\n<p>A custom module is used to create records for the &ldquo;example.com&rdquo; domain. The zone ID is retrieved via the &ldquo;cloudflare_zone&rdquo; data source and passed to the module along with the records to create.\nRecords are organized by type (A, CNAME, MX, and TXT) and created as separate resources with the appropriate parameters.\nTerraform also provides version control for DNS records and easy rollback capability. Overall, Terraform and Cloudflare together offer a powerful, scalable solution for managing DNS records as code.<\/p>"},{"title":"Docker image with buildx inside","link":"https:\/\/dovh.io\/posts\/2022-05-26-docker-with-buildx\/","pubDate":"Thu, 26 May 2022 09:00:00 +0000","guid":"https:\/\/dovh.io\/posts\/2022-05-26-docker-with-buildx\/","description":"<h2 id=\"base-docker-image-with-buildx\">Base docker image with buildx<\/h2>\n<p>Base docker image with docker and buildx installed in it. This image was created for use in GitLab CI for building multiarch images.<\/p>\n<p><a href=\"https:\/\/github.com\/vdovhanych\/docker-and-buildx\">GitHub Repo<\/a><\/p>"},{"title":"Raspberry Pi 4 Kubernetes cluster","link":"https:\/\/dovh.io\/posts\/2022-10-04-pi-cluster\/","pubDate":"Sun, 10 Apr 2022 09:00:00 +0000","guid":"https:\/\/dovh.io\/posts\/2022-10-04-pi-cluster\/","description":"<h1 id=\"installation\">Installation<\/h1>\n<h2 id=\"prepare-the-image-for-raspberry-pi\">Prepare the image for Raspberry Pi<\/h2>\n<p>Download <a href=\"https:\/\/www.raspberrypi.com\/software\/\">Pi imager<\/a><\/p>\n<p>Setup each nodes SD card<\/p>\n<p><img alt=\"pi-imager1\" loading=\"lazy\" src=\"https:\/\/dovh.io\/posts\/images\/pi-cluster\/pi-imager-os.png\">\n<img alt=\"pi-imager2\" loading=\"lazy\" src=\"https:\/\/dovh.io\/posts\/images\/pi-cluster\/pi-imager-settings.png\"><\/p>\n<h2 id=\"k3s-install\">k3s Install<\/h2>\n<p>To install k3s on Raspberry pi-cluster i have used awesome opensource project\n<img alt=\"k3s-ansible-cover\" loading=\"lazy\" src=\"https:\/\/camo.githubusercontent.com\/1d58775f8b90fa83b237600ddc6112cad2e93e912d4b6b754e991a036631aa64\/68747470733a2f2f696d672e796f75747562652e636f6d2f76692f43626b455763555a377a4d2f302e6a7067\">\n<a href=\"https:\/\/github.com\/techno-tim\/k3s-ansible\">k3s-ansible<\/a><\/p>\n<p>Follow the instructions on how to install k3s in the projects readme.<\/p>"},{"title":"Automatic release drafting to Github Releases","link":"https:\/\/dovh.io\/posts\/2021-05-20-github-actions-automatic-release\/","pubDate":"Thu, 20 May 2021 09:00:00 +0000","guid":"https:\/\/dovh.io\/posts\/2021-05-20-github-actions-automatic-release\/","description":"<h2 id=\"generate-draft-release-on-github-with-github-actions\">Generate draft release on GitHub with GitHub Actions<\/h2>\n<p>I was trying to find a way to do GitHub releases with GitHub Actions or GitLab CI. When I happen to find semantic-release project. One of the benefits of GitHub Actions is that the majority of its users open source their workflows by default. I was able to kick start my workflow for keeping up with releases thanks to code from benmvp, a GitHub user and keynote speaker. This was a huge help with setting up our CI to create drafted releases directly to GitHub Release page.<\/p>"},{"title":"GitHub Actions","link":"https:\/\/dovh.io\/posts\/2021-05-20-github-actions-basics\/","pubDate":"Thu, 20 May 2021 09:00:00 +0000","guid":"https:\/\/dovh.io\/posts\/2021-05-20-github-actions-basics\/","description":"<h2 id=\"github-actions-and-workflows\">GitHub Actions and Workflows<\/h2>\n<p>Github Actions enables you to create custom software development lifecycle workflows directly in your Github repository. These workflows are made out of different tasks so-called actions that can be run automatically on certain events.<\/p>\n<p>This enables you to include Continues Integration (CI) and continuous deployment (CD) capabilities and many other features directly in your repository.<\/p>\n<h3 id=\"why-care-about-github-actions\">Why care about Github Actions?<\/h3>\n<p>Before we get into the technical detail let&rsquo;s discussed why developers should care about Github Actions in the first place and which benefits they provide.<\/p>"},{"title":"HomeBridge setup","link":"https:\/\/dovh.io\/posts\/2021-04-11-homebridge-setup\/","pubDate":"Sun, 11 Apr 2021 09:00:00 +0000","guid":"https:\/\/dovh.io\/posts\/2021-04-11-homebridge-setup\/","description":"<h2 id=\"homebridge-setup-and-supported-accessories\">HomeBridge setup and supported accessories.<\/h2>\n<h3 id=\"homebridge-instalation\">Homebridge instalation.<\/h3>\n<p>Simple way to install it, is using docker and docker compose.<\/p>\n<div class=\"highlight\"><pre tabindex=\"0\" class=\"chroma\"><code class=\"language-yml\" data-lang=\"yml\"><span class=\"line\"><span class=\"cl\"><span class=\"nt\">version<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"s1\">&#39;2&#39;<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"><\/span><span class=\"nt\">services<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">  <\/span><span class=\"nt\">homebridge<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">    <\/span><span class=\"nt\">image<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">oznu\/homebridge:ubuntu<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">    <\/span><span class=\"nt\">restart<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">always<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">    <\/span><span class=\"nt\">network_mode<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">host<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">    <\/span><span class=\"nt\">environment<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">      <\/span>- <span class=\"l\">PGID=1000<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">      <\/span>- <span class=\"l\">PUID=1000<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">      <\/span>- <span class=\"l\">HOMEBRIDGE_CONFIG_UI=1<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">      <\/span>- <span class=\"l\">HOMEBRIDGE_CONFIG_UI_PORT=8581<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">      <\/span>- <span class=\"l\">TZ=Canberra\/Australia<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">    <\/span><span class=\"nt\">volumes<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">      <\/span>- <span class=\"l\">.\/volumes\/homebridge:\/homebridge<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/div><p>For more ways to install and for configuration options head to the official docs of HomeBridge <a href=\"https:\/\/github.com\/homebridge\/homebridge\/wiki\">here<\/a>.<\/p>"},{"title":"Getting Started with iOS App","link":"https:\/\/dovh.io\/posts\/2021-04-05-gettingstartedios\/","pubDate":"Sun, 04 Apr 2021 09:00:00 +0000","guid":"https:\/\/dovh.io\/posts\/2021-04-05-gettingstartedios\/","description":"<h2 id=\"basic-steps-to-start-developing\">Basic steps to start developing.<\/h2>\n<h3 id=\"jump-right-in\">Jump Right In<\/h3>\n<p><em>Start Developing iOS Apps (Swift)<\/em>  is the perfect starting point for learning to create apps that run on iPhone and iPad. View this set of incremental lessons as a guided introduction to building your first app\u2014including the tools, major concepts, and best practices that will ease your path.<\/p>\n<p>Each lesson contains a tutorial and the conceptual information you need to complete it. The lessons build on each other, walking you through a step-by-step process of creating a simple, real-world iOS app.<\/p>"},{"title":"Randomizer3 iPhone App","link":"https:\/\/dovh.io\/posts\/2021-01-12-randomizer3\/","pubDate":"Tue, 12 Jan 2021 09:00:00 +0000","guid":"https:\/\/dovh.io\/posts\/2021-01-12-randomizer3\/","description":"<hr>\n<h2 id=\"simple-app-that-generates-random-dota-2-heroes-and-also-tasty-food\">Simple app that generates random Dota 2 heroes and also tasty food.<\/h2>\n<p><a href=\"https:\/\/github.com\/vdovhanych\/Randomizer3\">Randomizer3 on Github<\/a><\/p>"}]}}