<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: CrazyMax</title>
    <description>The latest articles on Forem by CrazyMax (@crazymax).</description>
    <link>https://forem.com/crazymax</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F123183%2F58a0e87d-88cb-4470-b52a-fcd3f0eabafc.png</url>
      <title>Forem: CrazyMax</title>
      <link>https://forem.com/crazymax</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/crazymax"/>
    <language>en</language>
    <item>
      <title>Diun 4.0 available with Kubernetes support</title>
      <dc:creator>CrazyMax</dc:creator>
      <pubDate>Thu, 25 Jun 2020 19:28:15 +0000</pubDate>
      <link>https://forem.com/crazymax/diun-4-0-available-with-kubernetes-support-2n63</link>
      <guid>https://forem.com/crazymax/diun-4-0-available-with-kubernetes-support-2n63</guid>
      <description>&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vJ70wriM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/github-logo-ba8488d21cd8ee1fee097b8410db9deaa41d0ca30b004c0c63de0a479114156f.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/crazy-max"&gt;
        crazy-max
      &lt;/a&gt; / &lt;a href="https://github.com/crazy-max/diun"&gt;
        diun
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      🔔 Receive notifications when an image is updated on a Docker registry
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;&lt;a href="https://github.com/crazy-max/diun"&gt;&lt;img height="128" src="https://res.cloudinary.com/practicaldev/image/fetch/s--dPhPEZO8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/crazy-max/diun/master/.res/diun.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
  &lt;a href="https://crazy-max.github.io/diun/" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/95396d70cfad318932356eb7291fddf507c95c8c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f646f632d6d6b646f63732d3032613666323f7374796c653d666c61742d737175617265266c6f676f3d726561642d7468652d646f6373" alt="Documentation"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/crazy-max/diun/releases/latest"&gt;&lt;img src="https://camo.githubusercontent.com/9b21d90f001529cdd5252a031d0fe69a49a947a2/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f6372617a792d6d61782f6469756e2e7376673f7374796c653d666c61742d737175617265" alt="GitHub release"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/crazy-max/diun/releases/latest"&gt;&lt;img src="https://camo.githubusercontent.com/70eff92ce75d271bdc72a40d3196445ece910661/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f646f776e6c6f6164732f6372617a792d6d61782f6469756e2f746f74616c2e7376673f7374796c653d666c61742d737175617265" alt="Total downloads"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/crazy-max/diun/actions?workflow=build"&gt;&lt;img src="https://camo.githubusercontent.com/5fe222b12d5822128cd4734abd67c69a2b506655/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f776f726b666c6f772f7374617475732f6372617a792d6d61782f6469756e2f6275696c643f6c6162656c3d6275696c64266c6f676f3d676974687562267374796c653d666c61742d737175617265" alt="Build Status"&gt;&lt;/a&gt;
  &lt;a href="https://hub.docker.com/r/crazymax/diun/" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/7398030bc5505b149db1f1566ebab1541013d946/68747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f73746172732f6372617a796d61782f6469756e2e7376673f7374796c653d666c61742d737175617265266c6f676f3d646f636b6572" alt="Docker Stars"&gt;&lt;/a&gt;
  &lt;a href="https://hub.docker.com/r/crazymax/diun/" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/6724754fabc1856fb0aa34eb5ef22417da241fdf/68747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f70756c6c732f6372617a796d61782f6469756e2e7376673f7374796c653d666c61742d737175617265266c6f676f3d646f636b6572" alt="Docker Pulls"&gt;&lt;/a&gt;
  &lt;br&gt;&lt;a href="https://goreportcard.com/report/github.com/crazy-max/diun" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/7bf11189cc30990cf55f7ecfc773907c441f332e/68747470733a2f2f676f7265706f7274636172642e636f6d2f62616467652f6769746875622e636f6d2f6372617a792d6d61782f6469756e3f7374796c653d666c61742d737175617265" alt="Go Report"&gt;&lt;/a&gt;
  &lt;a href="https://www.codacy.com/app/crazy-max/diun" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/22d162537e27528d19faec4b928ed9a0f7b05519/68747470733a2f2f696d672e736869656c64732e696f2f636f646163792f67726164652f66326566393830633837643234376365386138646263393861386634663433342e7376673f7374796c653d666c61742d737175617265" alt="Code Quality"&gt;&lt;/a&gt;
  &lt;a href="https://codecov.io/gh/crazy-max/diun" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/a001d788fa66111ef475552445b6490ff385edc3/68747470733a2f2f696d672e736869656c64732e696f2f636f6465636f762f632f6769746875622f6372617a792d6d61782f6469756e3f6c6f676f3d636f6465636f76267374796c653d666c61742d737175617265" alt="Codecov"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/sponsors/crazy-max"&gt;&lt;img src="https://camo.githubusercontent.com/6920ae7be63cf83ed88901612e1f25b7c3ee9c75/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f73706f6e736f722d6372617a792d2d6d61782d3138313731372e7376673f6c6f676f3d676974687562267374796c653d666c61742d737175617265" alt="Become a sponsor"&gt;&lt;/a&gt;
  &lt;a href="https://www.paypal.me/crazyws" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/93df17879fa8f6a7a09e115cf16e9d728c9ff1f2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f646f6e6174652d70617970616c2d3030343537632e7376673f6c6f676f3d70617970616c267374796c653d666c61742d737175617265" alt="Donate Paypal"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;h2&gt;
About&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Diun&lt;/strong&gt; is a CLI application written in &lt;a href="https://golang.org/" rel="nofollow"&gt;Go&lt;/a&gt;  and delivered as a
&lt;a href="https://github.com/crazy-max/diun/releases/latest"&gt;single executable&lt;/a&gt; (and a
&lt;a href="https://hub.docker.com/r/crazymax/diun/" rel="nofollow"&gt;Docker image&lt;/a&gt;) to receive notifications when a Docker image is updated on
a Docker registry.&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://raw.githubusercontent.com/crazy-max/diun/master/.res/screenshot.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nrvWBI6y--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/crazy-max/diun/master/.res/screenshot.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
Documentation&lt;/h2&gt;
&lt;p&gt;Documentation can be found on &lt;a href="https://crazy-max.github.io/diun/" rel="nofollow"&gt;https://crazy-max.github.io/diun/&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
How can I help?&lt;/h2&gt;
&lt;p&gt;All kinds of contributions are welcome 🙌! The most basic way to show your support is to star 🌟 the
project, or to raise issues 💬 You can also support this project by
&lt;a href="https://github.com/sponsors/crazy-max"&gt;&lt;strong&gt;becoming a sponsor on GitHub&lt;/strong&gt;&lt;/a&gt; 👏 or by making a
&lt;a href="https://www.paypal.me/crazyws" rel="nofollow"&gt;Paypal donation&lt;/a&gt; to ensure this journey continues indefinitely! 🚀&lt;/p&gt;
&lt;p&gt;Thanks again for your support, it is much appreciated! 🙏&lt;/p&gt;
&lt;h2&gt;
License&lt;/h2&gt;
&lt;p&gt;MIT. See &lt;code&gt;LICENSE&lt;/code&gt; for more details.&lt;/p&gt;
&lt;/div&gt;

  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/crazy-max/diun"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;Diun 4.0 is now available and adds &lt;a href="https://crazy-max.github.io/diun/providers/kubernetes/"&gt;support for Kubernetes&lt;/a&gt; and also &lt;a href="https://crazy-max.github.io/diun/changelog/"&gt;other improvements&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;
  
  
  New website
&lt;/h2&gt;

&lt;p&gt;A website for documentation using MkDocs Material has been created: &lt;a href="https://crazy-max.github.io/diun/"&gt;https://crazy-max.github.io/diun/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MkDRQH7o--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/kq3hrivt8vzlpseju9mq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MkDRQH7o--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/kq3hrivt8vzlpseju9mq.png" alt="Website"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Kubernetes
&lt;/h2&gt;

&lt;p&gt;For this &lt;a href="https://crazy-max.github.io/diun/providers/kubernetes/"&gt;new provider&lt;/a&gt;, the analysis can be done on all pods in all or custom namespaces:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;providers&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;kubernetes&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;namespaces&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;default&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;production&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;The configuration can be global for your provider or more refined with &lt;a href="https://crazy-max.github.io/diun/providers/kubernetes/#kubernetes-annotations"&gt;Kubernetes annotations&lt;/a&gt; dedicated to Diun:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;apiVersion&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;apps/v1&lt;/span&gt;
&lt;span class="na"&gt;kind&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Deployment&lt;/span&gt;
&lt;span class="na"&gt;metadata&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;namespace&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;default&lt;/span&gt;
  &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;nginx&lt;/span&gt;
&lt;span class="na"&gt;spec&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;selector&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;matchLabels&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="na"&gt;run&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;nginx&lt;/span&gt;
  &lt;span class="na"&gt;replicas&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;2&lt;/span&gt;
  &lt;span class="na"&gt;template&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;metadata&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="na"&gt;labels&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
        &lt;span class="na"&gt;run&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;nginx&lt;/span&gt;
      &lt;span class="na"&gt;annotations&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
        &lt;span class="s"&gt;diun.enable&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;true"&lt;/span&gt;
        &lt;span class="s"&gt;diun.watch_repo&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;true"&lt;/span&gt;
    &lt;span class="na"&gt;spec&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="na"&gt;containers&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
        &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;nginx&lt;/span&gt;
          &lt;span class="na"&gt;image&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;nginx&lt;/span&gt;
          &lt;span class="na"&gt;ports&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
            &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;containerPort&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;80&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h2&gt;
  
  
  Other improvements
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Configuration &lt;a href="https://crazy-max.github.io/diun/config/#environment-variables"&gt;transposed into environment variables&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Automatically determine registry options and credentials based on image name (registry domain and/or repo path)&lt;/li&gt;
&lt;li&gt;Display hostname in notifications&lt;/li&gt;
&lt;li&gt;Add link to respective hub in notifications&lt;/li&gt;
&lt;li&gt;Add Mattermost compatibility via Slack webhooks&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let me know if you have any questions or if you are waiting for new features!&lt;/p&gt;




&lt;p&gt;Support this project by &lt;a href="https://github.com/sponsors/crazy-max"&gt;&lt;strong&gt;becoming a sponsor on GitHub&lt;/strong&gt;&lt;/a&gt; 👏 or by making a &lt;a href="https://www.paypal.me/crazyws"&gt;Paypal donation&lt;/a&gt; to ensure this journey continues indefinitely! 🚀&lt;/p&gt;

&lt;p&gt;Thanks again for your support, it is much appreciated! 🙏&lt;/p&gt;

</description>
      <category>docker</category>
      <category>devops</category>
      <category>showdev</category>
      <category>go</category>
    </item>
    <item>
      <title>Diun 3.0 available with 3 new notification providers</title>
      <dc:creator>CrazyMax</dc:creator>
      <pubDate>Wed, 27 May 2020 22:08:59 +0000</pubDate>
      <link>https://forem.com/crazymax/diun-3-0-available-with-3-new-notification-providers-bli</link>
      <guid>https://forem.com/crazymax/diun-3-0-available-with-3-new-notification-providers-bli</guid>
      <description>&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/crazy-max" rel="noopener noreferrer"&gt;
        crazy-max
      &lt;/a&gt; / &lt;a href="https://github.com/crazy-max/diun" rel="noopener noreferrer"&gt;
        diun
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Receive notifications when an image is updated on a Docker registry
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;&lt;a href="https://crazymax.dev/diun/" rel="nofollow noopener noreferrer"&gt;&lt;img height="128" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fcrazy-max%2Fdiun%2Fmaster%2F.res%2Fdiun.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
  &lt;a href="https://crazymax.dev/diun/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/c05e1380ad26a548883c6f3f9bb07ad818fcffb5aad42b006be317b2ac884c87/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f646f632d6d6b646f63732d3032613666323f7374796c653d666c61742d737175617265266c6f676f3d726561642d7468652d646f6373" alt="Documentation"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/crazy-max/diun/releases/latest" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/71045f3825ed118e0eea6ce4278cda341c7a9f3180d892c0fff4da9309cf3d8f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f6372617a792d6d61782f6469756e2e7376673f7374796c653d666c61742d737175617265" alt="GitHub release"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/crazy-max/diun/releases/latest" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/35e2205a52f69c94f71cc06862839b6432c76014218b536fff73f3a67787d4dc/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f646f776e6c6f6164732f6372617a792d6d61782f6469756e2f746f74616c2e7376673f7374796c653d666c61742d737175617265" alt="Total downloads"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/crazy-max/diun/actions?workflow=build" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/46270f76de5559f5296234586b8697eb9f52fd78f53bc7e8899d83f58471ed06/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6372617a792d6d61782f6469756e2f6275696c642e796d6c3f6272616e63683d6d6173746572266c6162656c3d6275696c64266c6f676f3d676974687562267374796c653d666c61742d737175617265" alt="Build Status"&gt;&lt;/a&gt;
  &lt;a href="https://hub.docker.com/r/crazymax/diun/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/5b00a295198406faa975ce6fe8a420191373e0596b0c86649e29079facf51fde/68747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f73746172732f6372617a796d61782f6469756e2e7376673f7374796c653d666c61742d737175617265266c6f676f3d646f636b6572" alt="Docker Stars"&gt;&lt;/a&gt;
  &lt;a href="https://hub.docker.com/r/crazymax/diun/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/4664b91625bd66004950ea826e2447d9402bd9a3b72b4572a509e2e1bc40e115/68747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f70756c6c732f6372617a796d61782f6469756e2e7376673f7374796c653d666c61742d737175617265266c6f676f3d646f636b6572" alt="Docker Pulls"&gt;&lt;/a&gt;
  &lt;br&gt;&lt;a href="https://goreportcard.com/report/github.com/crazy-max/diun" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/0ae919cff630b440f0835edb4ff728302081861b329ad21200a9dc889ec59790/68747470733a2f2f676f7265706f7274636172642e636f6d2f62616467652f6769746875622e636f6d2f6372617a792d6d61782f6469756e3f7374796c653d666c61742d737175617265" alt="Go Report"&gt;&lt;/a&gt;
  &lt;a href="https://codecov.io/gh/crazy-max/diun" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/7c41b0881c9cffdc763b0a55885dba87445fd4c0f594f1dac92829aac309c027/68747470733a2f2f696d672e736869656c64732e696f2f636f6465636f762f632f6769746875622f6372617a792d6d61782f6469756e3f6c6f676f3d636f6465636f76267374796c653d666c61742d737175617265" alt="Codecov"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/sponsors/crazy-max" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/76abffbdb56011ada7eac2dfe68bf9bede75453ff9daebd88b24ac1f301ca7af/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f73706f6e736f722d6372617a792d2d6d61782d3138313731372e7376673f6c6f676f3d676974687562267374796c653d666c61742d737175617265" alt="Become a sponsor"&gt;&lt;/a&gt;
  &lt;a href="https://www.paypal.me/crazyws" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/d4293ebc9c4569dc5f8415545ffaf4c6acc7385b9d33a376f04511e9af843797/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f646f6e6174652d70617970616c2d3030343537632e7376673f6c6f676f3d70617970616c267374796c653d666c61742d737175617265" alt="Donate Paypal"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;About&lt;/h2&gt;

&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Diun&lt;/strong&gt; is a CLI application written in &lt;a href="https://golang.org/" rel="nofollow noopener noreferrer"&gt;Go&lt;/a&gt;  and delivered as a
&lt;a href="https://github.com/crazy-max/diun/releases/latest" rel="noopener noreferrer"&gt;single executable&lt;/a&gt; (and a
&lt;a href="https://hub.docker.com/r/crazymax/diun/" rel="nofollow noopener noreferrer"&gt;Docker image&lt;/a&gt;) to receive notifications when a Docker image is updated on
a Docker registry.&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/crazy-max/diun.res/screenshot.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fcrazy-max%2Fdiun.res%2Fscreenshot.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Documentation&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;Documentation can be found on &lt;a href="https://crazymax.dev/diun/" rel="nofollow noopener noreferrer"&gt;https://crazymax.dev/diun/&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Contributing&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;Want to contribute? Awesome! The most basic way to show your support is to star the project, or to raise issues. If
you want to open a pull request, please read the &lt;a href="https://github.com/crazy-max/diun.github/CONTRIBUTING.md" rel="noopener noreferrer"&gt;contributing guidelines&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You can also support this project by &lt;a href="https://github.com/sponsors/crazy-max" rel="noopener noreferrer"&gt;&lt;strong&gt;becoming a sponsor on GitHub&lt;/strong&gt;&lt;/a&gt; or by
making a &lt;a href="https://www.paypal.me/crazyws" rel="nofollow noopener noreferrer"&gt;Paypal donation&lt;/a&gt; to ensure this journey continues indefinitely!&lt;/p&gt;
&lt;p&gt;Thanks again for your support, it is much appreciated! 🙏&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;License&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;MIT. See &lt;code&gt;LICENSE&lt;/code&gt; for more details.&lt;/p&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/crazy-max/diun" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;p&gt;Diun 3.0 is now available with 3 new notification providers and some enhancements.&lt;/p&gt;

&lt;h2&gt;
  
  
  Amqp
&lt;/h2&gt;

&lt;p&gt;You can send notifications to any amqp compatible server. The JSON response will look like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"diun_version"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"0.3.0"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"status"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"new"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"provider"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"file"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"image"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"docker.io/crazymax/swarm-cronjob:0.2.1"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mime_type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"application/vnd.docker.distribution.manifest.v2+json"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"digest"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"sha256:5913d4b5e8dc15430c2f47f40e43ab2ca7f2b8df5eee5db4d5c42311e08dfb79"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"created"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2019-01-24T10:26:49.152006005Z"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"platform"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"linux/amd64"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Script
&lt;/h2&gt;

&lt;p&gt;You can also use a script or program as a notification provider. Following environment variables are passed to the process and will look like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;DIUN_VERSION=3.0.0
DIUN_ENTRY_STATUS=new
DIUN_ENTRY_PROVIDER=file
DIUN_ENTRY_IMAGE=docker.io/crazymax/diun:latest
DIUN_ENTRY_MIMETYPE=application/vnd.docker.distribution.manifest.list.v2+json
DIUN_ENTRY_DIGEST=sha256:216e3ae7de4ca8b553eb11ef7abda00651e79e537e85c46108284e5e91673e01
DIUN_ENTRY_CREATED=2020-03-26 12:23:56 +0000 UTC
DIUN_ENTRY_PLATFORM=linux/adm64
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Microsoft Teams
&lt;/h2&gt;

&lt;p&gt;And also send notifications to your Teams team-channel using an &lt;a href="https://docs.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/what-are-webhooks-and-connectors" rel="noopener noreferrer"&gt;incoming webhook URL&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fww3xj3ir394aarl2ar5i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fww3xj3ir394aarl2ar5i.png" alt="Microsoft Teams notification"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let me know if you have any questions or if you are waiting for new features!&lt;/p&gt;




&lt;p&gt;Support this project by &lt;a href="https://github.com/sponsors/crazy-max" rel="noopener noreferrer"&gt;&lt;strong&gt;becoming a sponsor on GitHub&lt;/strong&gt;&lt;/a&gt; 👏 or by making a &lt;a href="https://www.paypal.me/crazyws" rel="noopener noreferrer"&gt;Paypal donation&lt;/a&gt; to ensure this journey continues indefinitely! 🚀&lt;/p&gt;

&lt;p&gt;Thanks again for your support, it is much appreciated! 🙏&lt;/p&gt;

</description>
      <category>docker</category>
      <category>devops</category>
      <category>notification</category>
      <category>go</category>
    </item>
    <item>
      <title>GitHub Status action</title>
      <dc:creator>CrazyMax</dc:creator>
      <pubDate>Sat, 23 May 2020 08:58:03 +0000</pubDate>
      <link>https://forem.com/crazymax/github-status-action-4353</link>
      <guid>https://forem.com/crazymax/github-status-action-4353</guid>
      <description>&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vWogaON8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/github-logo-28d89282e0daa1e2496205e2f218a44c755b0dd6536bbadf5ed5a44a7ca54716.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/crazy-max"&gt;
        crazy-max
      &lt;/a&gt; / &lt;a href="https://github.com/crazy-max/ghaction-github-status"&gt;
        ghaction-github-status
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      :octocat: GitHub Action to check GitHub Status in your workflow
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;&lt;a href="https://github.com/crazy-max/ghaction-github-status/releases/latest"&gt;&lt;img src="https://camo.githubusercontent.com/d81f07f2f5b31a2209a73a1c9df854843239ce82/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f6372617a792d6d61782f6768616374696f6e2d6769746875622d7374617475732e7376673f7374796c653d666c61742d737175617265" alt="GitHub release"&gt;&lt;/a&gt;
&lt;a href="https://github.com/marketplace/actions/github-status"&gt;&lt;img src="https://camo.githubusercontent.com/9eeae32c085629e5068dd67084b7c8fbe33ccba3/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6d61726b6574706c6163652d6769746875622d2d7374617475732d626c75653f6c6f676f3d676974687562267374796c653d666c61742d737175617265" alt="GitHub marketplace"&gt;&lt;/a&gt;
&lt;a href="https://github.com/crazy-max/ghaction-github-status/actions?workflow=test"&gt;&lt;img src="https://camo.githubusercontent.com/dd89322a66f65fa4a30caeacff340f22c2e5f233/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f776f726b666c6f772f7374617475732f6372617a792d6d61782f6768616374696f6e2d6769746875622d7374617475732f746573743f6c6162656c3d74657374266c6f676f3d676974687562267374796c653d666c61742d737175617265" alt="Test workflow"&gt;&lt;/a&gt;
&lt;a href="https://codecov.io/gh/crazy-max/ghaction-github-status" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/bd3a79380405c6babd7488693f2b710a3e0242fe/68747470733a2f2f696d672e736869656c64732e696f2f636f6465636f762f632f6769746875622f6372617a792d6d61782f6768616374696f6e2d6769746875622d7374617475733f6c6f676f3d636f6465636f76267374796c653d666c61742d737175617265" alt="Codecov"&gt;&lt;/a&gt;
&lt;a href="https://github.com/sponsors/crazy-max"&gt;&lt;img src="https://camo.githubusercontent.com/6920ae7be63cf83ed88901612e1f25b7c3ee9c75/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f73706f6e736f722d6372617a792d2d6d61782d3138313731372e7376673f6c6f676f3d676974687562267374796c653d666c61742d737175617265" alt="Become a sponsor"&gt;&lt;/a&gt;
&lt;a href="https://www.paypal.me/crazyws" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/93df17879fa8f6a7a09e115cf16e9d728c9ff1f2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f646f6e6174652d70617970616c2d3030343537632e7376673f6c6f676f3d70617970616c267374796c653d666c61742d737175617265" alt="Paypal Donate"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
About&lt;/h2&gt;
&lt;p&gt;A GitHub Action to check &lt;a href="https://www.githubstatus.com/" rel="nofollow"&gt;GitHub Status&lt;/a&gt; in your workflow.&lt;/p&gt;
&lt;p&gt;If you are interested, &lt;a href="https://git.io/Je09Y" rel="nofollow"&gt;check out&lt;/a&gt; my other &lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ABKpJP58--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.githubassets.com/images/icons/emoji/octocat.png" class="article-body-image-wrapper"&gt;&lt;img class="emoji" title=":octocat:" alt=":octocat:" src="https://res.cloudinary.com/practicaldev/image/fetch/s--ABKpJP58--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.githubassets.com/images/icons/emoji/octocat.png" height="20" width="20"&gt;&lt;/a&gt; GitHub Actions!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://raw.githubusercontent.com/crazy-max/ghaction-github-status/master/#features"&gt;Features&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://raw.githubusercontent.com/crazy-max/ghaction-github-status/master/#usage"&gt;Usage&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://raw.githubusercontent.com/crazy-max/ghaction-github-status/master/#basic-workflow"&gt;Basic workflow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://raw.githubusercontent.com/crazy-max/ghaction-github-status/master/#trigger-error-if-github-services-are-down"&gt;Trigger error if GitHub services are down&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://raw.githubusercontent.com/crazy-max/ghaction-github-status/master/#customizing"&gt;Customizing&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://raw.githubusercontent.com/crazy-max/ghaction-github-status/master/#inputs"&gt;inputs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://raw.githubusercontent.com/crazy-max/ghaction-github-status/master/#how-can-i-help"&gt;How can I help?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://raw.githubusercontent.com/crazy-max/ghaction-github-status/master/#license"&gt;License&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Threshold management for each GitHub service or global (rollup)&lt;/li&gt;
&lt;li&gt;Display status of all services&lt;/li&gt;
&lt;li&gt;Display active incidents and updates&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
Usage&lt;/h2&gt;
&lt;h3&gt;
Basic workflow&lt;/h3&gt;
&lt;p&gt;The following workflow is purely informative and will only display the current status of GitHub services:&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://raw.githubusercontent.com/crazy-max/ghaction-github-status/master/.github/ghaction-github-status2.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qmCSMY5a--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/crazy-max/ghaction-github-status/master/.github/ghaction-github-status2.png" alt="GitHub Status - OK"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="highlight highlight-source-yaml"&gt;&lt;pre&gt;&lt;span class="pl-ent"&gt;name&lt;/span&gt;: &lt;span class="pl-s"&gt;build&lt;/span&gt;
&lt;span class="pl-ent"&gt;on&lt;/span&gt;: &lt;span class="pl-s"&gt;push&lt;/span&gt;
&lt;span class="pl-ent"&gt;jobs&lt;/span&gt;
  &lt;span class="pl-ent"&gt;build&lt;/span&gt;:
    &lt;span class="pl-ent"&gt;runs-on&lt;/span&gt;: &lt;span class="pl-s"&gt;ubuntu-latest&lt;/span&gt;
    &lt;span class="pl-ent"&gt;steps&lt;/span&gt;:
      -
        &lt;span class="pl-ent"&gt;name&lt;/span&gt;: &lt;span class="pl-s"&gt;Check GitHub Status&lt;/span&gt;
        &lt;span class="pl-ent"&gt;uses&lt;/span&gt;: &lt;span class="pl-s"&gt;crazy-max/ghaction-github-status@v1&lt;/span&gt;
      -
        &lt;span class="pl-ent"&gt;name&lt;/span&gt;: &lt;span class="pl-s"&gt;Checkout&lt;/span&gt;
        &lt;span class="pl-ent"&gt;uses&lt;/span&gt;: &lt;span class="pl-s"&gt;actions/checkout@v2&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h3&gt;
Trigger error if GitHub services are down&lt;/h3&gt;
&lt;p&gt;In the example below we will set some status thresholds so that the job can fail if these thresholds are exceeded.&lt;/p&gt;
&lt;p&gt;This can be useful if you have an action that publishes to GitHub…&lt;/p&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/crazy-max/ghaction-github-status"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;With yesterday's disruption on GitHub, I thought it would be a good idea to create a GitHub Action to check the status of GitHub's services. So here it is! &lt;/p&gt;

&lt;h3&gt;
  
  
  Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Threshold management for each GitHub service or global (rollup)&lt;/li&gt;
&lt;li&gt;Display status of all services&lt;/li&gt;
&lt;li&gt;Display active incidents and updates&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Basic worflow
&lt;/h3&gt;

&lt;p&gt;The following workflow is purely informative and will only display the current status of GitHub services:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QYc9Qn-L--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/es8hj8wpqbaig60cwa9i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QYc9Qn-L--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/es8hj8wpqbaig60cwa9i.png" alt="GitHub Status OK"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;build&lt;/span&gt;

&lt;span class="na"&gt;on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;push&lt;/span&gt;

&lt;span class="na"&gt;jobs&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;build&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;runs-on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ubuntu-latest&lt;/span&gt;
    &lt;span class="na"&gt;steps&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt;
        &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Check GitHub Status&lt;/span&gt;
        &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;crazy-max/ghaction-github-status@v1&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt;
        &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Checkout&lt;/span&gt;
        &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;actions/checkout@v2&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h3&gt;
  
  
  Trigger error if GitHub services are down
&lt;/h3&gt;

&lt;p&gt;In the example below we will set some status thresholds so that the job can fail if these thresholds are exceeded.&lt;/p&gt;

&lt;p&gt;This can be useful if you have an action that publishes to GitHub Pages but the service is down.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SgF3kOZ7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/4mayoyq0yrweuciok3ip.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SgF3kOZ7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/4mayoyq0yrweuciok3ip.png" alt="GitHub Status - Failed"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;build&lt;/span&gt;

&lt;span class="na"&gt;on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;push&lt;/span&gt;

&lt;span class="na"&gt;jobs&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;build&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;runs-on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ubuntu-latest&lt;/span&gt;
    &lt;span class="na"&gt;steps&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt;
        &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Check GitHub Status&lt;/span&gt;
        &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;crazy-max/ghaction-github-status@v1&lt;/span&gt;
        &lt;span class="na"&gt;with&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
          &lt;span class="na"&gt;overall_threshold&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;minor&lt;/span&gt;
          &lt;span class="na"&gt;pages_threshold&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;partial_outage&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt;
        &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Checkout&lt;/span&gt;
        &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;actions/checkout@v2&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Many others thresholds are available like Git Operations, GitHub Packages, Webhooks, etc...&lt;/p&gt;

&lt;p&gt;Check it out: &lt;a href="https://github.com/crazy-max/ghaction-github-status/"&gt;https://github.com/crazy-max/ghaction-github-status/&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Support this project by &lt;a href="https://github.com/sponsors/crazy-max"&gt;&lt;strong&gt;becoming a sponsor on GitHub&lt;/strong&gt;&lt;/a&gt; 👏 or by making a &lt;a href="https://www.paypal.me/crazyws"&gt;Paypal donation&lt;/a&gt; to ensure this journey continues indefinitely! 🚀&lt;/p&gt;

&lt;p&gt;Thanks again for your support, it is much appreciated! 🙏&lt;/p&gt;

</description>
      <category>github</category>
      <category>actions</category>
      <category>devops</category>
      <category>ci</category>
    </item>
    <item>
      <title>Gotify notifications available with Diun 2.4</title>
      <dc:creator>CrazyMax</dc:creator>
      <pubDate>Mon, 17 Feb 2020 22:17:22 +0000</pubDate>
      <link>https://forem.com/crazymax/gotify-notifications-available-with-diun-2-4-1f5n</link>
      <guid>https://forem.com/crazymax/gotify-notifications-available-with-diun-2-4-1f5n</guid>
      <description>&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vJ70wriM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/github-logo-ba8488d21cd8ee1fee097b8410db9deaa41d0ca30b004c0c63de0a479114156f.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/crazy-max"&gt;
        crazy-max
      &lt;/a&gt; / &lt;a href="https://github.com/crazy-max/diun"&gt;
        diun
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      🔔 Receive notifications when an image is updated on a Docker registry
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;&lt;a href="https://github.com/crazy-max/diun"&gt;&lt;img height="128" src="https://res.cloudinary.com/practicaldev/image/fetch/s--dPhPEZO8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/crazy-max/diun/master/.res/diun.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
  &lt;a href="https://crazy-max.github.io/diun/" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/95396d70cfad318932356eb7291fddf507c95c8c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f646f632d6d6b646f63732d3032613666323f7374796c653d666c61742d737175617265266c6f676f3d726561642d7468652d646f6373" alt="Documentation"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/crazy-max/diun/releases/latest"&gt;&lt;img src="https://camo.githubusercontent.com/9b21d90f001529cdd5252a031d0fe69a49a947a2/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f6372617a792d6d61782f6469756e2e7376673f7374796c653d666c61742d737175617265" alt="GitHub release"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/crazy-max/diun/releases/latest"&gt;&lt;img src="https://camo.githubusercontent.com/70eff92ce75d271bdc72a40d3196445ece910661/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f646f776e6c6f6164732f6372617a792d6d61782f6469756e2f746f74616c2e7376673f7374796c653d666c61742d737175617265" alt="Total downloads"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/crazy-max/diun/actions?workflow=build"&gt;&lt;img src="https://camo.githubusercontent.com/5fe222b12d5822128cd4734abd67c69a2b506655/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f776f726b666c6f772f7374617475732f6372617a792d6d61782f6469756e2f6275696c643f6c6162656c3d6275696c64266c6f676f3d676974687562267374796c653d666c61742d737175617265" alt="Build Status"&gt;&lt;/a&gt;
  &lt;a href="https://hub.docker.com/r/crazymax/diun/" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/7398030bc5505b149db1f1566ebab1541013d946/68747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f73746172732f6372617a796d61782f6469756e2e7376673f7374796c653d666c61742d737175617265266c6f676f3d646f636b6572" alt="Docker Stars"&gt;&lt;/a&gt;
  &lt;a href="https://hub.docker.com/r/crazymax/diun/" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/6724754fabc1856fb0aa34eb5ef22417da241fdf/68747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f70756c6c732f6372617a796d61782f6469756e2e7376673f7374796c653d666c61742d737175617265266c6f676f3d646f636b6572" alt="Docker Pulls"&gt;&lt;/a&gt;
  &lt;br&gt;&lt;a href="https://goreportcard.com/report/github.com/crazy-max/diun" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/7bf11189cc30990cf55f7ecfc773907c441f332e/68747470733a2f2f676f7265706f7274636172642e636f6d2f62616467652f6769746875622e636f6d2f6372617a792d6d61782f6469756e3f7374796c653d666c61742d737175617265" alt="Go Report"&gt;&lt;/a&gt;
  &lt;a href="https://www.codacy.com/app/crazy-max/diun" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/22d162537e27528d19faec4b928ed9a0f7b05519/68747470733a2f2f696d672e736869656c64732e696f2f636f646163792f67726164652f66326566393830633837643234376365386138646263393861386634663433342e7376673f7374796c653d666c61742d737175617265" alt="Code Quality"&gt;&lt;/a&gt;
  &lt;a href="https://codecov.io/gh/crazy-max/diun" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/a001d788fa66111ef475552445b6490ff385edc3/68747470733a2f2f696d672e736869656c64732e696f2f636f6465636f762f632f6769746875622f6372617a792d6d61782f6469756e3f6c6f676f3d636f6465636f76267374796c653d666c61742d737175617265" alt="Codecov"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/sponsors/crazy-max"&gt;&lt;img src="https://camo.githubusercontent.com/6920ae7be63cf83ed88901612e1f25b7c3ee9c75/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f73706f6e736f722d6372617a792d2d6d61782d3138313731372e7376673f6c6f676f3d676974687562267374796c653d666c61742d737175617265" alt="Become a sponsor"&gt;&lt;/a&gt;
  &lt;a href="https://www.paypal.me/crazyws" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/93df17879fa8f6a7a09e115cf16e9d728c9ff1f2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f646f6e6174652d70617970616c2d3030343537632e7376673f6c6f676f3d70617970616c267374796c653d666c61742d737175617265" alt="Donate Paypal"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;h2&gt;
About&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Diun&lt;/strong&gt; is a CLI application written in &lt;a href="https://golang.org/" rel="nofollow"&gt;Go&lt;/a&gt;  and delivered as a
&lt;a href="https://github.com/crazy-max/diun/releases/latest"&gt;single executable&lt;/a&gt; (and a
&lt;a href="https://hub.docker.com/r/crazymax/diun/" rel="nofollow"&gt;Docker image&lt;/a&gt;) to receive notifications when a Docker image is updated on
a Docker registry.&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://raw.githubusercontent.com/crazy-max/diun/master/.res/screenshot.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nrvWBI6y--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/crazy-max/diun/master/.res/screenshot.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
Documentation&lt;/h2&gt;
&lt;p&gt;Documentation can be found on &lt;a href="https://crazy-max.github.io/diun/" rel="nofollow"&gt;https://crazy-max.github.io/diun/&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
How can I help?&lt;/h2&gt;
&lt;p&gt;All kinds of contributions are welcome 🙌! The most basic way to show your support is to star 🌟 the
project, or to raise issues 💬 You can also support this project by
&lt;a href="https://github.com/sponsors/crazy-max"&gt;&lt;strong&gt;becoming a sponsor on GitHub&lt;/strong&gt;&lt;/a&gt; 👏 or by making a
&lt;a href="https://www.paypal.me/crazyws" rel="nofollow"&gt;Paypal donation&lt;/a&gt; to ensure this journey continues indefinitely! 🚀&lt;/p&gt;
&lt;p&gt;Thanks again for your support, it is much appreciated! 🙏&lt;/p&gt;
&lt;h2&gt;
License&lt;/h2&gt;
&lt;p&gt;MIT. See &lt;code&gt;LICENSE&lt;/code&gt; for more details.&lt;/p&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/crazy-max/diun"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;p&gt;&lt;a href="https://github.com/crazy-max/diun"&gt;&lt;strong&gt;Diun&lt;/strong&gt;&lt;/a&gt; 2.4 🔔 has been released and adds support for Gotify notifications:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dRAZ7YNL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/haibo9nz66ovf9tqktfj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dRAZ7YNL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/haibo9nz66ovf9tqktfj.png" alt="Gotify notification"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Support this project by &lt;a href="https://github.com/sponsors/crazy-max"&gt;&lt;strong&gt;becoming a sponsor on GitHub&lt;/strong&gt;&lt;/a&gt; 👏 or by making a &lt;a href="https://www.paypal.me/crazyws"&gt;Paypal donation&lt;/a&gt; to ensure this journey continues indefinitely! 🚀&lt;/p&gt;

&lt;p&gt;Thanks again for your support, it is much appreciated! 🙏&lt;/p&gt;

</description>
      <category>docker</category>
      <category>registry</category>
      <category>gotify</category>
      <category>go</category>
    </item>
    <item>
      <title>Telegram notifications available with Diun 2.3</title>
      <dc:creator>CrazyMax</dc:creator>
      <pubDate>Tue, 28 Jan 2020 20:19:27 +0000</pubDate>
      <link>https://forem.com/crazymax/telegram-notifications-available-with-diun-2-3-5hbp</link>
      <guid>https://forem.com/crazymax/telegram-notifications-available-with-diun-2-3-5hbp</guid>
      <description>&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vJ70wriM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/github-logo-ba8488d21cd8ee1fee097b8410db9deaa41d0ca30b004c0c63de0a479114156f.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/crazy-max"&gt;
        crazy-max
      &lt;/a&gt; / &lt;a href="https://github.com/crazy-max/diun"&gt;
        diun
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      🔔 Receive notifications when an image is updated on a Docker registry
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;&lt;a href="https://github.com/crazy-max/diun"&gt;&lt;img height="128" src="https://res.cloudinary.com/practicaldev/image/fetch/s--dPhPEZO8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/crazy-max/diun/master/.res/diun.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
  &lt;a href="https://crazy-max.github.io/diun/" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/95396d70cfad318932356eb7291fddf507c95c8c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f646f632d6d6b646f63732d3032613666323f7374796c653d666c61742d737175617265266c6f676f3d726561642d7468652d646f6373" alt="Documentation"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/crazy-max/diun/releases/latest"&gt;&lt;img src="https://camo.githubusercontent.com/9b21d90f001529cdd5252a031d0fe69a49a947a2/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f6372617a792d6d61782f6469756e2e7376673f7374796c653d666c61742d737175617265" alt="GitHub release"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/crazy-max/diun/releases/latest"&gt;&lt;img src="https://camo.githubusercontent.com/70eff92ce75d271bdc72a40d3196445ece910661/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f646f776e6c6f6164732f6372617a792d6d61782f6469756e2f746f74616c2e7376673f7374796c653d666c61742d737175617265" alt="Total downloads"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/crazy-max/diun/actions?workflow=build"&gt;&lt;img src="https://camo.githubusercontent.com/5fe222b12d5822128cd4734abd67c69a2b506655/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f776f726b666c6f772f7374617475732f6372617a792d6d61782f6469756e2f6275696c643f6c6162656c3d6275696c64266c6f676f3d676974687562267374796c653d666c61742d737175617265" alt="Build Status"&gt;&lt;/a&gt;
  &lt;a href="https://hub.docker.com/r/crazymax/diun/" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/7398030bc5505b149db1f1566ebab1541013d946/68747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f73746172732f6372617a796d61782f6469756e2e7376673f7374796c653d666c61742d737175617265266c6f676f3d646f636b6572" alt="Docker Stars"&gt;&lt;/a&gt;
  &lt;a href="https://hub.docker.com/r/crazymax/diun/" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/6724754fabc1856fb0aa34eb5ef22417da241fdf/68747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f70756c6c732f6372617a796d61782f6469756e2e7376673f7374796c653d666c61742d737175617265266c6f676f3d646f636b6572" alt="Docker Pulls"&gt;&lt;/a&gt;
  &lt;br&gt;&lt;a href="https://goreportcard.com/report/github.com/crazy-max/diun" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/7bf11189cc30990cf55f7ecfc773907c441f332e/68747470733a2f2f676f7265706f7274636172642e636f6d2f62616467652f6769746875622e636f6d2f6372617a792d6d61782f6469756e3f7374796c653d666c61742d737175617265" alt="Go Report"&gt;&lt;/a&gt;
  &lt;a href="https://www.codacy.com/app/crazy-max/diun" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/22d162537e27528d19faec4b928ed9a0f7b05519/68747470733a2f2f696d672e736869656c64732e696f2f636f646163792f67726164652f66326566393830633837643234376365386138646263393861386634663433342e7376673f7374796c653d666c61742d737175617265" alt="Code Quality"&gt;&lt;/a&gt;
  &lt;a href="https://codecov.io/gh/crazy-max/diun" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/a001d788fa66111ef475552445b6490ff385edc3/68747470733a2f2f696d672e736869656c64732e696f2f636f6465636f762f632f6769746875622f6372617a792d6d61782f6469756e3f6c6f676f3d636f6465636f76267374796c653d666c61742d737175617265" alt="Codecov"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/sponsors/crazy-max"&gt;&lt;img src="https://camo.githubusercontent.com/6920ae7be63cf83ed88901612e1f25b7c3ee9c75/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f73706f6e736f722d6372617a792d2d6d61782d3138313731372e7376673f6c6f676f3d676974687562267374796c653d666c61742d737175617265" alt="Become a sponsor"&gt;&lt;/a&gt;
  &lt;a href="https://www.paypal.me/crazyws" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/93df17879fa8f6a7a09e115cf16e9d728c9ff1f2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f646f6e6174652d70617970616c2d3030343537632e7376673f6c6f676f3d70617970616c267374796c653d666c61742d737175617265" alt="Donate Paypal"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;h2&gt;
About&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Diun&lt;/strong&gt; is a CLI application written in &lt;a href="https://golang.org/" rel="nofollow"&gt;Go&lt;/a&gt;  and delivered as a
&lt;a href="https://github.com/crazy-max/diun/releases/latest"&gt;single executable&lt;/a&gt; (and a
&lt;a href="https://hub.docker.com/r/crazymax/diun/" rel="nofollow"&gt;Docker image&lt;/a&gt;) to receive notifications when a Docker image is updated on
a Docker registry.&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://raw.githubusercontent.com/crazy-max/diun/master/.res/screenshot.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nrvWBI6y--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/crazy-max/diun/master/.res/screenshot.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
Documentation&lt;/h2&gt;
&lt;p&gt;Documentation can be found on &lt;a href="https://crazy-max.github.io/diun/" rel="nofollow"&gt;https://crazy-max.github.io/diun/&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
How can I help?&lt;/h2&gt;
&lt;p&gt;All kinds of contributions are welcome 🙌! The most basic way to show your support is to star 🌟 the
project, or to raise issues 💬 You can also support this project by
&lt;a href="https://github.com/sponsors/crazy-max"&gt;&lt;strong&gt;becoming a sponsor on GitHub&lt;/strong&gt;&lt;/a&gt; 👏 or by making a
&lt;a href="https://www.paypal.me/crazyws" rel="nofollow"&gt;Paypal donation&lt;/a&gt; to ensure this journey continues indefinitely! 🚀&lt;/p&gt;
&lt;p&gt;Thanks again for your support, it is much appreciated! 🙏&lt;/p&gt;
&lt;h2&gt;
License&lt;/h2&gt;
&lt;p&gt;MIT. See &lt;code&gt;LICENSE&lt;/code&gt; for more details.&lt;/p&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/crazy-max/diun"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;p&gt;&lt;a href="https://github.com/crazy-max/diun"&gt;&lt;strong&gt;Diun&lt;/strong&gt;&lt;/a&gt; 2.3 🔔 has been released and adds support for Telegram notifications:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4OxHDBpF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/nftaezs2u0xwqvngocmd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4OxHDBpF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/nftaezs2u0xwqvngocmd.png" alt="Telegram notification"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Support this project by &lt;a href="https://github.com/sponsors/crazy-max"&gt;&lt;strong&gt;becoming a sponsor on GitHub&lt;/strong&gt;&lt;/a&gt; 👏 or by making a &lt;a href="https://www.paypal.me/crazyws"&gt;Paypal donation&lt;/a&gt; to ensure this journey continues indefinitely! 🚀&lt;/p&gt;

&lt;p&gt;Thanks again for your support, it is much appreciated! 🙏&lt;/p&gt;

</description>
      <category>docker</category>
      <category>registry</category>
      <category>telegram</category>
      <category>go</category>
    </item>
    <item>
      <title>Slack notifications available with Diun 2.1</title>
      <dc:creator>CrazyMax</dc:creator>
      <pubDate>Tue, 17 Dec 2019 23:01:16 +0000</pubDate>
      <link>https://forem.com/crazymax/slack-notifications-available-with-diun-2-1-17e9</link>
      <guid>https://forem.com/crazymax/slack-notifications-available-with-diun-2-1-17e9</guid>
      <description>&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vJ70wriM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/github-logo-ba8488d21cd8ee1fee097b8410db9deaa41d0ca30b004c0c63de0a479114156f.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/crazy-max"&gt;
        crazy-max
      &lt;/a&gt; / &lt;a href="https://github.com/crazy-max/diun"&gt;
        diun
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      🔔 Receive notifications when an image is updated on a Docker registry
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;&lt;a href="https://github.com/crazy-max/diun"&gt;&lt;img height="128" src="https://res.cloudinary.com/practicaldev/image/fetch/s--dPhPEZO8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/crazy-max/diun/master/.res/diun.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
  &lt;a href="https://crazy-max.github.io/diun/" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/95396d70cfad318932356eb7291fddf507c95c8c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f646f632d6d6b646f63732d3032613666323f7374796c653d666c61742d737175617265266c6f676f3d726561642d7468652d646f6373" alt="Documentation"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/crazy-max/diun/releases/latest"&gt;&lt;img src="https://camo.githubusercontent.com/9b21d90f001529cdd5252a031d0fe69a49a947a2/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f6372617a792d6d61782f6469756e2e7376673f7374796c653d666c61742d737175617265" alt="GitHub release"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/crazy-max/diun/releases/latest"&gt;&lt;img src="https://camo.githubusercontent.com/70eff92ce75d271bdc72a40d3196445ece910661/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f646f776e6c6f6164732f6372617a792d6d61782f6469756e2f746f74616c2e7376673f7374796c653d666c61742d737175617265" alt="Total downloads"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/crazy-max/diun/actions?workflow=build"&gt;&lt;img src="https://camo.githubusercontent.com/5fe222b12d5822128cd4734abd67c69a2b506655/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f776f726b666c6f772f7374617475732f6372617a792d6d61782f6469756e2f6275696c643f6c6162656c3d6275696c64266c6f676f3d676974687562267374796c653d666c61742d737175617265" alt="Build Status"&gt;&lt;/a&gt;
  &lt;a href="https://hub.docker.com/r/crazymax/diun/" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/7398030bc5505b149db1f1566ebab1541013d946/68747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f73746172732f6372617a796d61782f6469756e2e7376673f7374796c653d666c61742d737175617265266c6f676f3d646f636b6572" alt="Docker Stars"&gt;&lt;/a&gt;
  &lt;a href="https://hub.docker.com/r/crazymax/diun/" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/6724754fabc1856fb0aa34eb5ef22417da241fdf/68747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f70756c6c732f6372617a796d61782f6469756e2e7376673f7374796c653d666c61742d737175617265266c6f676f3d646f636b6572" alt="Docker Pulls"&gt;&lt;/a&gt;
  &lt;br&gt;&lt;a href="https://goreportcard.com/report/github.com/crazy-max/diun" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/7bf11189cc30990cf55f7ecfc773907c441f332e/68747470733a2f2f676f7265706f7274636172642e636f6d2f62616467652f6769746875622e636f6d2f6372617a792d6d61782f6469756e3f7374796c653d666c61742d737175617265" alt="Go Report"&gt;&lt;/a&gt;
  &lt;a href="https://www.codacy.com/app/crazy-max/diun" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/22d162537e27528d19faec4b928ed9a0f7b05519/68747470733a2f2f696d672e736869656c64732e696f2f636f646163792f67726164652f66326566393830633837643234376365386138646263393861386634663433342e7376673f7374796c653d666c61742d737175617265" alt="Code Quality"&gt;&lt;/a&gt;
  &lt;a href="https://codecov.io/gh/crazy-max/diun" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/a001d788fa66111ef475552445b6490ff385edc3/68747470733a2f2f696d672e736869656c64732e696f2f636f6465636f762f632f6769746875622f6372617a792d6d61782f6469756e3f6c6f676f3d636f6465636f76267374796c653d666c61742d737175617265" alt="Codecov"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/sponsors/crazy-max"&gt;&lt;img src="https://camo.githubusercontent.com/6920ae7be63cf83ed88901612e1f25b7c3ee9c75/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f73706f6e736f722d6372617a792d2d6d61782d3138313731372e7376673f6c6f676f3d676974687562267374796c653d666c61742d737175617265" alt="Become a sponsor"&gt;&lt;/a&gt;
  &lt;a href="https://www.paypal.me/crazyws" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/93df17879fa8f6a7a09e115cf16e9d728c9ff1f2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f646f6e6174652d70617970616c2d3030343537632e7376673f6c6f676f3d70617970616c267374796c653d666c61742d737175617265" alt="Donate Paypal"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;h2&gt;
About&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Diun&lt;/strong&gt; is a CLI application written in &lt;a href="https://golang.org/" rel="nofollow"&gt;Go&lt;/a&gt;  and delivered as a
&lt;a href="https://github.com/crazy-max/diun/releases/latest"&gt;single executable&lt;/a&gt; (and a
&lt;a href="https://hub.docker.com/r/crazymax/diun/" rel="nofollow"&gt;Docker image&lt;/a&gt;) to receive notifications when a Docker image is updated on
a Docker registry.&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://raw.githubusercontent.com/crazy-max/diun/master/.res/screenshot.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nrvWBI6y--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/crazy-max/diun/master/.res/screenshot.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
Documentation&lt;/h2&gt;
&lt;p&gt;Documentation can be found on &lt;a href="https://crazy-max.github.io/diun/" rel="nofollow"&gt;https://crazy-max.github.io/diun/&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
How can I help?&lt;/h2&gt;
&lt;p&gt;All kinds of contributions are welcome 🙌! The most basic way to show your support is to star 🌟 the
project, or to raise issues 💬 You can also support this project by
&lt;a href="https://github.com/sponsors/crazy-max"&gt;&lt;strong&gt;becoming a sponsor on GitHub&lt;/strong&gt;&lt;/a&gt; 👏 or by making a
&lt;a href="https://www.paypal.me/crazyws" rel="nofollow"&gt;Paypal donation&lt;/a&gt; to ensure this journey continues indefinitely! 🚀&lt;/p&gt;
&lt;p&gt;Thanks again for your support, it is much appreciated! 🙏&lt;/p&gt;
&lt;h2&gt;
License&lt;/h2&gt;
&lt;p&gt;MIT. See &lt;code&gt;LICENSE&lt;/code&gt; for more details.&lt;/p&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/crazy-max/diun"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;p&gt;&lt;a href="https://github.com/crazy-max/diun"&gt;&lt;strong&gt;Diun&lt;/strong&gt;&lt;/a&gt; 2.0 🔔 has been released and adds support for Slack notifications:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--H03SjXO5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/edrdgccwe8tfmfoy5zoj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--H03SjXO5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/edrdgccwe8tfmfoy5zoj.png" alt="Slack notification"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Support this project by &lt;a href="https://github.com/sponsors/crazy-max"&gt;&lt;strong&gt;becoming a sponsor on GitHub&lt;/strong&gt;&lt;/a&gt; 👏 or by making a &lt;a href="https://www.paypal.me/crazyws"&gt;Paypal donation&lt;/a&gt; to ensure this journey continues indefinitely! 🚀&lt;/p&gt;

&lt;p&gt;Thanks again for your support, it is much appreciated! 🙏&lt;/p&gt;

</description>
      <category>docker</category>
      <category>registry</category>
      <category>slack</category>
      <category>go</category>
    </item>
    <item>
      <title>Diun 2.0 adds support for Docker and Swarm providers</title>
      <dc:creator>CrazyMax</dc:creator>
      <pubDate>Sat, 14 Dec 2019 18:02:45 +0000</pubDate>
      <link>https://forem.com/crazymax/diun-2-0-adds-support-for-docker-and-swarm-providers-1he8</link>
      <guid>https://forem.com/crazymax/diun-2-0-adds-support-for-docker-and-swarm-providers-1he8</guid>
      <description>&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vJ70wriM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/github-logo-ba8488d21cd8ee1fee097b8410db9deaa41d0ca30b004c0c63de0a479114156f.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/crazy-max"&gt;
        crazy-max
      &lt;/a&gt; / &lt;a href="https://github.com/crazy-max/diun"&gt;
        diun
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      🔔 Receive notifications when an image is updated on a Docker registry
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;&lt;a href="https://github.com/crazy-max/diun"&gt;&lt;img height="128" src="https://res.cloudinary.com/practicaldev/image/fetch/s--dPhPEZO8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/crazy-max/diun/master/.res/diun.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
  &lt;a href="https://crazy-max.github.io/diun/" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/95396d70cfad318932356eb7291fddf507c95c8c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f646f632d6d6b646f63732d3032613666323f7374796c653d666c61742d737175617265266c6f676f3d726561642d7468652d646f6373" alt="Documentation"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/crazy-max/diun/releases/latest"&gt;&lt;img src="https://camo.githubusercontent.com/9b21d90f001529cdd5252a031d0fe69a49a947a2/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f6372617a792d6d61782f6469756e2e7376673f7374796c653d666c61742d737175617265" alt="GitHub release"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/crazy-max/diun/releases/latest"&gt;&lt;img src="https://camo.githubusercontent.com/70eff92ce75d271bdc72a40d3196445ece910661/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f646f776e6c6f6164732f6372617a792d6d61782f6469756e2f746f74616c2e7376673f7374796c653d666c61742d737175617265" alt="Total downloads"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/crazy-max/diun/actions?workflow=build"&gt;&lt;img src="https://camo.githubusercontent.com/5fe222b12d5822128cd4734abd67c69a2b506655/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f776f726b666c6f772f7374617475732f6372617a792d6d61782f6469756e2f6275696c643f6c6162656c3d6275696c64266c6f676f3d676974687562267374796c653d666c61742d737175617265" alt="Build Status"&gt;&lt;/a&gt;
  &lt;a href="https://hub.docker.com/r/crazymax/diun/" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/7398030bc5505b149db1f1566ebab1541013d946/68747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f73746172732f6372617a796d61782f6469756e2e7376673f7374796c653d666c61742d737175617265266c6f676f3d646f636b6572" alt="Docker Stars"&gt;&lt;/a&gt;
  &lt;a href="https://hub.docker.com/r/crazymax/diun/" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/6724754fabc1856fb0aa34eb5ef22417da241fdf/68747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f70756c6c732f6372617a796d61782f6469756e2e7376673f7374796c653d666c61742d737175617265266c6f676f3d646f636b6572" alt="Docker Pulls"&gt;&lt;/a&gt;
  &lt;br&gt;&lt;a href="https://goreportcard.com/report/github.com/crazy-max/diun" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/7bf11189cc30990cf55f7ecfc773907c441f332e/68747470733a2f2f676f7265706f7274636172642e636f6d2f62616467652f6769746875622e636f6d2f6372617a792d6d61782f6469756e3f7374796c653d666c61742d737175617265" alt="Go Report"&gt;&lt;/a&gt;
  &lt;a href="https://www.codacy.com/app/crazy-max/diun" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/22d162537e27528d19faec4b928ed9a0f7b05519/68747470733a2f2f696d672e736869656c64732e696f2f636f646163792f67726164652f66326566393830633837643234376365386138646263393861386634663433342e7376673f7374796c653d666c61742d737175617265" alt="Code Quality"&gt;&lt;/a&gt;
  &lt;a href="https://codecov.io/gh/crazy-max/diun" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/a001d788fa66111ef475552445b6490ff385edc3/68747470733a2f2f696d672e736869656c64732e696f2f636f6465636f762f632f6769746875622f6372617a792d6d61782f6469756e3f6c6f676f3d636f6465636f76267374796c653d666c61742d737175617265" alt="Codecov"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/sponsors/crazy-max"&gt;&lt;img src="https://camo.githubusercontent.com/6920ae7be63cf83ed88901612e1f25b7c3ee9c75/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f73706f6e736f722d6372617a792d2d6d61782d3138313731372e7376673f6c6f676f3d676974687562267374796c653d666c61742d737175617265" alt="Become a sponsor"&gt;&lt;/a&gt;
  &lt;a href="https://www.paypal.me/crazyws" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/93df17879fa8f6a7a09e115cf16e9d728c9ff1f2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f646f6e6174652d70617970616c2d3030343537632e7376673f6c6f676f3d70617970616c267374796c653d666c61742d737175617265" alt="Donate Paypal"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;h2&gt;
About&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Diun&lt;/strong&gt; is a CLI application written in &lt;a href="https://golang.org/" rel="nofollow"&gt;Go&lt;/a&gt;  and delivered as a
&lt;a href="https://github.com/crazy-max/diun/releases/latest"&gt;single executable&lt;/a&gt; (and a
&lt;a href="https://hub.docker.com/r/crazymax/diun/" rel="nofollow"&gt;Docker image&lt;/a&gt;) to receive notifications when a Docker image is updated on
a Docker registry.&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://raw.githubusercontent.com/crazy-max/diun/master/.res/screenshot.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nrvWBI6y--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/crazy-max/diun/master/.res/screenshot.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
Documentation&lt;/h2&gt;
&lt;p&gt;Documentation can be found on &lt;a href="https://crazy-max.github.io/diun/" rel="nofollow"&gt;https://crazy-max.github.io/diun/&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
How can I help?&lt;/h2&gt;
&lt;p&gt;All kinds of contributions are welcome 🙌! The most basic way to show your support is to star 🌟 the
project, or to raise issues 💬 You can also support this project by
&lt;a href="https://github.com/sponsors/crazy-max"&gt;&lt;strong&gt;becoming a sponsor on GitHub&lt;/strong&gt;&lt;/a&gt; 👏 or by making a
&lt;a href="https://www.paypal.me/crazyws" rel="nofollow"&gt;Paypal donation&lt;/a&gt; to ensure this journey continues indefinitely! 🚀&lt;/p&gt;
&lt;p&gt;Thanks again for your support, it is much appreciated! 🙏&lt;/p&gt;
&lt;h2&gt;
License&lt;/h2&gt;
&lt;p&gt;MIT. See &lt;code&gt;LICENSE&lt;/code&gt; for more details.&lt;/p&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/crazy-max/diun"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;p&gt;I just released the new major release 2.0 of Diun and I think this one might interest you.&lt;/p&gt;

&lt;p&gt;For those who don't know, &lt;a href="https://github.com/crazy-max/diun"&gt;&lt;strong&gt;Diun&lt;/strong&gt;&lt;/a&gt; 🔔 is a CLI application written in &lt;a href="https://golang.org/"&gt;Go&lt;/a&gt; to receive notifications 📥 when a Docker 🐳 image is updated on a Docker registry.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--G1mIFO40--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/opw2zewt0b7vcilsx28r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--G1mIFO40--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/opw2zewt0b7vcilsx28r.png" alt="Mail notification"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In its first version this one only allowed the analysis of images added manually in the configuration file.&lt;/p&gt;

&lt;p&gt;But in this new release, there is the addition of support for &lt;a href="https://github.com/crazy-max/diun/blob/master/doc/providers/docker.md"&gt;Docker engines provider&lt;/a&gt; and &lt;a href="https://github.com/crazy-max/diun/blob/master/doc/providers/swarm.md"&gt;Swarm clusters provider&lt;/a&gt;. I put it in the plural because you can add as many engines as you want. This may allow some sysadmin to centralize notifications when analyzing images.&lt;/p&gt;

&lt;p&gt;For these new providers, the analysis can be done on all the containers/services found (even those stopped). The configuration can be global for your provider or more refined by the introduction of &lt;a href="https://github.com/crazy-max/diun/blob/master/doc/providers/docker.md#configuration"&gt;Docker labels dedicated to Diun&lt;/a&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;version&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;3.5"&lt;/span&gt;

&lt;span class="na"&gt;services&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;diun&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;image&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;crazymax/diun:latest&lt;/span&gt;
    &lt;span class="na"&gt;volumes&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;./data:/data"&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;./diun.yml:/diun.yml:ro"&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;/var/run/docker.sock:/var/run/docker.sock"&lt;/span&gt;
    &lt;span class="na"&gt;environment&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;TZ=Europe/Paris"&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;LOG_LEVEL=info"&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;LOG_JSON=false"&lt;/span&gt;
    &lt;span class="na"&gt;restart&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;always&lt;/span&gt;

  &lt;span class="na"&gt;cloudflared&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;image&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;crazymax/cloudflared:latest&lt;/span&gt;
    &lt;span class="na"&gt;ports&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;target&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;5053&lt;/span&gt;
        &lt;span class="na"&gt;published&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;5053&lt;/span&gt;
        &lt;span class="na"&gt;protocol&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;udp&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;target&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;49312&lt;/span&gt;
        &lt;span class="na"&gt;published&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;49312&lt;/span&gt;
        &lt;span class="na"&gt;protocol&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;tcp&lt;/span&gt;
    &lt;span class="na"&gt;environment&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;TZ=Europe/Paris"&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;TUNNEL_DNS_UPSTREAM=https://1.1.1.1/dns-query,https://1.0.0.1/dns-query"&lt;/span&gt;
    &lt;span class="na"&gt;labels&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;diun.enable=true"&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;diun.watch_repo=true"&lt;/span&gt;
    &lt;span class="na"&gt;restart&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;always&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Logs will look like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ docker-compose logs -f
Attaching to bin_diun_1, cloudflared
cloudflared    | time="2019-12-14T15:30:07+01:00" level=info msg="Adding DNS upstream" url="https://1.1.1.1/dns-query"
cloudflared    | time="2019-12-14T15:30:07+01:00" level=info msg="Adding DNS upstream" url="https://1.0.0.1/dns-query"
cloudflared    | time="2019-12-14T15:30:07+01:00" level=info msg="Starting metrics server" addr="[::]:49312"
cloudflared    | time="2019-12-14T15:30:07+01:00" level=info msg="Starting DNS over HTTPS proxy server" addr="dns://0.0.0.0:5053"
diun_1         | Sat, 14 Dec 2019 15:30:07 CET INF Starting Diun v2.0.0
diun_1         | Sat, 14 Dec 2019 15:30:07 CET INF Found 1 docker provider(s) to analyze...
diun_1         | Sat, 14 Dec 2019 15:30:10 CET INF New image found id=mydocker image=docker.io/crazymax/cloudflared:latest provider=docker
diun_1         | Sat, 14 Dec 2019 15:30:12 CET INF New image found id=mydocker image=docker.io/crazymax/cloudflared:2019.9.0 provider=docker
diun_1         | Sat, 14 Dec 2019 15:30:12 CET INF New image found id=mydocker image=docker.io/crazymax/cloudflared:2019.9.1 provider=docker
diun_1         | Sat, 14 Dec 2019 15:30:12 CET INF New image found id=mydocker image=docker.io/crazymax/cloudflared:2019.9.2 provider=docker
diun_1         | Sat, 14 Dec 2019 15:30:12 CET INF New image found id=mydocker image=docker.io/crazymax/cloudflared:2019.10.1 provider=docker
diun_1         | Sat, 14 Dec 2019 15:30:12 CET INF New image found id=mydocker image=docker.io/crazymax/cloudflared:2019.10.4 provider=docker
diun_1         | Sat, 14 Dec 2019 15:30:12 CET INF New image found id=mydocker image=docker.io/crazymax/cloudflared:2019.10.2 provider=docker
diun_1         | Sat, 14 Dec 2019 15:30:12 CET INF New image found id=mydocker image=docker.io/crazymax/cloudflared:2019.11.0 provider=docker
diun_1         | Sat, 14 Dec 2019 15:30:12 CET INF New image found id=mydocker image=docker.io/crazymax/cloudflared:2019.11.3 provider=docker
diun_1         | Sat, 14 Dec 2019 15:30:13 CET INF New image found id=mydocker image=docker.io/crazymax/cloudflared:2019.11.2 provider=docker
diun_1         | Sat, 14 Dec 2019 15:30:13 CET INF Cron initialized with schedule */30 * * * *
diun_1         | Sat, 14 Dec 2019 15:30:13 CET INF Next run in 29 minutes (2019-12-14 16:00:00 +0100 CET)
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Let me know if you have any questions or if you are waiting for new features!&lt;/p&gt;




&lt;p&gt;Support this project by &lt;a href="https://github.com/sponsors/crazy-max"&gt;&lt;strong&gt;becoming a sponsor on GitHub&lt;/strong&gt;&lt;/a&gt; 👏 or by making a &lt;a href="https://www.paypal.me/crazyws"&gt;Paypal donation&lt;/a&gt; to ensure this journey continues indefinitely! 🚀&lt;/p&gt;

&lt;p&gt;Thanks again for your support, it is much appreciated! 🙏&lt;/p&gt;

</description>
      <category>docker</category>
      <category>registry</category>
      <category>notification</category>
      <category>go</category>
    </item>
    <item>
      <title>Diun - Docker image update notifier</title>
      <dc:creator>CrazyMax</dc:creator>
      <pubDate>Sun, 09 Jun 2019 19:26:21 +0000</pubDate>
      <link>https://forem.com/crazymax/diun-docker-image-update-notifier-3glh</link>
      <guid>https://forem.com/crazymax/diun-docker-image-update-notifier-3glh</guid>
      <description>&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--A9-wwsHG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/crazy-max" rel="noopener noreferrer"&gt;
        crazy-max
      &lt;/a&gt; / &lt;a href="https://github.com/crazy-max/diun" rel="noopener noreferrer"&gt;
        diun
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Receive notifications when an image is updated on a Docker registry
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;&lt;a href="https://crazymax.dev/diun/" rel="nofollow noopener noreferrer"&gt;&lt;img height="128" src="https://res.cloudinary.com/practicaldev/image/fetch/s--H9M3HMg8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://raw.githubusercontent.com/crazy-max/diun/master/.res/diun.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
  &lt;a href="https://crazymax.dev/diun/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/c05e1380ad26a548883c6f3f9bb07ad818fcffb5aad42b006be317b2ac884c87/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f646f632d6d6b646f63732d3032613666323f7374796c653d666c61742d737175617265266c6f676f3d726561642d7468652d646f6373" alt="Documentation"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/crazy-max/diun/releases/latest" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/71045f3825ed118e0eea6ce4278cda341c7a9f3180d892c0fff4da9309cf3d8f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f6372617a792d6d61782f6469756e2e7376673f7374796c653d666c61742d737175617265" alt="GitHub release"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/crazy-max/diun/releases/latest" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/35e2205a52f69c94f71cc06862839b6432c76014218b536fff73f3a67787d4dc/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f646f776e6c6f6164732f6372617a792d6d61782f6469756e2f746f74616c2e7376673f7374796c653d666c61742d737175617265" alt="Total downloads"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/crazy-max/diun/actions?workflow=build" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/46270f76de5559f5296234586b8697eb9f52fd78f53bc7e8899d83f58471ed06/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6372617a792d6d61782f6469756e2f6275696c642e796d6c3f6272616e63683d6d6173746572266c6162656c3d6275696c64266c6f676f3d676974687562267374796c653d666c61742d737175617265" alt="Build Status"&gt;&lt;/a&gt;
  &lt;a href="https://hub.docker.com/r/crazymax/diun/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/5b00a295198406faa975ce6fe8a420191373e0596b0c86649e29079facf51fde/68747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f73746172732f6372617a796d61782f6469756e2e7376673f7374796c653d666c61742d737175617265266c6f676f3d646f636b6572" alt="Docker Stars"&gt;&lt;/a&gt;
  &lt;a href="https://hub.docker.com/r/crazymax/diun/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/4664b91625bd66004950ea826e2447d9402bd9a3b72b4572a509e2e1bc40e115/68747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f70756c6c732f6372617a796d61782f6469756e2e7376673f7374796c653d666c61742d737175617265266c6f676f3d646f636b6572" alt="Docker Pulls"&gt;&lt;/a&gt;
  &lt;br&gt;&lt;a href="https://goreportcard.com/report/github.com/crazy-max/diun" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/0ae919cff630b440f0835edb4ff728302081861b329ad21200a9dc889ec59790/68747470733a2f2f676f7265706f7274636172642e636f6d2f62616467652f6769746875622e636f6d2f6372617a792d6d61782f6469756e3f7374796c653d666c61742d737175617265" alt="Go Report"&gt;&lt;/a&gt;
  &lt;a href="https://codecov.io/gh/crazy-max/diun" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/7c41b0881c9cffdc763b0a55885dba87445fd4c0f594f1dac92829aac309c027/68747470733a2f2f696d672e736869656c64732e696f2f636f6465636f762f632f6769746875622f6372617a792d6d61782f6469756e3f6c6f676f3d636f6465636f76267374796c653d666c61742d737175617265" alt="Codecov"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/sponsors/crazy-max" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/76abffbdb56011ada7eac2dfe68bf9bede75453ff9daebd88b24ac1f301ca7af/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f73706f6e736f722d6372617a792d2d6d61782d3138313731372e7376673f6c6f676f3d676974687562267374796c653d666c61742d737175617265" alt="Become a sponsor"&gt;&lt;/a&gt;
  &lt;a href="https://www.paypal.me/crazyws" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/d4293ebc9c4569dc5f8415545ffaf4c6acc7385b9d33a376f04511e9af843797/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f646f6e6174652d70617970616c2d3030343537632e7376673f6c6f676f3d70617970616c267374796c653d666c61742d737175617265" alt="Donate Paypal"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;About&lt;/h2&gt;

&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Diun&lt;/strong&gt; is a CLI application written in &lt;a href="https://golang.org/" rel="nofollow noopener noreferrer"&gt;Go&lt;/a&gt;  and delivered as a
&lt;a href="https://github.com/crazy-max/diun/releases/latest" rel="noopener noreferrer"&gt;single executable&lt;/a&gt; (and a
&lt;a href="https://hub.docker.com/r/crazymax/diun/" rel="nofollow noopener noreferrer"&gt;Docker image&lt;/a&gt;) to receive notifications when a Docker image is updated on
a Docker registry.&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/crazy-max/diun.res/screenshot.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HbjKjf0m--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://github.com/crazy-max/diun.res/screenshot.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Documentation&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;Documentation can be found on &lt;a href="https://crazymax.dev/diun/" rel="nofollow noopener noreferrer"&gt;https://crazymax.dev/diun/&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Contributing&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;Want to contribute? Awesome! The most basic way to show your support is to star the project, or to raise issues. If
you want to open a pull request, please read the &lt;a href="https://github.com/crazy-max/diun.github/CONTRIBUTING.md" rel="noopener noreferrer"&gt;contributing guidelines&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You can also support this project by &lt;a href="https://github.com/sponsors/crazy-max" rel="noopener noreferrer"&gt;&lt;strong&gt;becoming a sponsor on GitHub&lt;/strong&gt;&lt;/a&gt; or by
making a &lt;a href="https://www.paypal.me/crazyws" rel="nofollow noopener noreferrer"&gt;Paypal donation&lt;/a&gt; to ensure this journey continues indefinitely!&lt;/p&gt;
&lt;p&gt;Thanks again for your support, it is much appreciated! 🙏&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;License&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;MIT. See &lt;code&gt;LICENSE&lt;/code&gt; for more details.&lt;/p&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/crazy-max/diun" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;p&gt;&lt;a href="https://github.com/crazy-max/diun" rel="noopener noreferrer"&gt;&lt;strong&gt;Diun&lt;/strong&gt;&lt;/a&gt; 🔔 is a CLI application written in &lt;a href="https://golang.org/" rel="noopener noreferrer"&gt;Go&lt;/a&gt; to receive notifications 📥 when a Docker 🐳 image is updated on a Docker registry.&lt;/p&gt;

&lt;p&gt;Here are the main features :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Allow to watch a full Docker repository and report new tags&lt;/li&gt;
&lt;li&gt;Include and exclude filters with regular expression for tags&lt;/li&gt;
&lt;li&gt;Internal cron implementation through go routines&lt;/li&gt;
&lt;li&gt;Worker pool to parallelize analyses&lt;/li&gt;
&lt;li&gt;Allow overriding os and architecture when watching&lt;/li&gt;
&lt;li&gt;Beautiful email report&lt;/li&gt;
&lt;li&gt;Webhook notification&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you choose &lt;code&gt;webhook&lt;/code&gt; notification, a HTTP request is sent with a JSON format response that looks like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"diun_version"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"0.3.0"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"status"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"new"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"image"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"docker.io/crazymax/swarm-cronjob:0.2.1"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mime_type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"application/vnd.docker.distribution.manifest.v2+json"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"digest"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"sha256:5913d4b5e8dc15430c2f47f40e43ab2ca7f2b8df5eee5db4d5c42311e08dfb79"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"created"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2019-01-24T10:26:49.152006005Z"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"architecture"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"amd64"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"os"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"linux"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And here is an email sample if you use &lt;code&gt;mail&lt;/code&gt; notification:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr0mwmldg520xynmvnx7a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr0mwmldg520xynmvnx7a.png" width="800" height="475"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This application is in its early stages so your feedback is welcome! 🙂&lt;/p&gt;




&lt;p&gt;Support this project by &lt;a href="https://github.com/sponsors/crazy-max" rel="noopener noreferrer"&gt;&lt;strong&gt;becoming a sponsor on GitHub&lt;/strong&gt;&lt;/a&gt; 👏 or by making a &lt;a href="https://www.paypal.me/crazyws" rel="noopener noreferrer"&gt;Paypal donation&lt;/a&gt; to ensure this journey continues indefinitely! 🚀&lt;/p&gt;

&lt;p&gt;Thanks again for your support, it is much appreciated! 🙏&lt;/p&gt;

</description>
      <category>docker</category>
      <category>registry</category>
      <category>notification</category>
      <category>go</category>
    </item>
    <item>
      <title>ddns-route53</title>
      <dc:creator>CrazyMax</dc:creator>
      <pubDate>Mon, 01 Apr 2019 21:27:00 +0000</pubDate>
      <link>https://forem.com/crazymax/ddns-route53-15k2</link>
      <guid>https://forem.com/crazymax/ddns-route53-15k2</guid>
      <description>&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/crazy-max" rel="noopener noreferrer"&gt;
        crazy-max
      &lt;/a&gt; / &lt;a href="https://github.com/crazy-max/ddns-route53" rel="noopener noreferrer"&gt;
        ddns-route53
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Dynamic DNS for Amazon Route 53 on a time-based schedule
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;&lt;a href="https://github.com/crazy-max/ddns-route53" rel="noopener noreferrer"&gt;&lt;img height="128" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fcrazy-max%2Fddns-route53%2Fmaster%2F.github%2Fddns-route53.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
  &lt;a href="https://crazymax.dev/ddns-route53/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/c05e1380ad26a548883c6f3f9bb07ad818fcffb5aad42b006be317b2ac884c87/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f646f632d6d6b646f63732d3032613666323f7374796c653d666c61742d737175617265266c6f676f3d726561642d7468652d646f6373" alt="Documentation"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/crazy-max/ddns-route53/releases/latest" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/0a7f22c3c0e90e5a8effcdae383e59ed51c8301ca17c71a729680e488e280054/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f6372617a792d6d61782f64646e732d726f75746535332e7376673f7374796c653d666c61742d737175617265" alt="GitHub release"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/crazy-max/ddns-route53/releases/latest" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/9cdc4925e8f3ad2bc70f634b130f6a4e8e0f917daabbfe490a7a4b7cd9af9754/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f646f776e6c6f6164732f6372617a792d6d61782f64646e732d726f75746535332f746f74616c2e7376673f7374796c653d666c61742d737175617265" alt="Total downloads"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/crazy-max/ddns-route53/actions?workflow=build" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/cd1128055dba1a55d698ac0eef328749dd4bbf76e58176d12e511ad3e2708eef/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6372617a792d6d61782f64646e732d726f75746535332f6275696c642e796d6c3f6272616e63683d6d6173746572266c6162656c3d6275696c64266c6f676f3d676974687562267374796c653d666c61742d737175617265" alt="Build Status"&gt;&lt;/a&gt;
  &lt;a href="https://hub.docker.com/r/crazymax/ddns-route53/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/e8e0c068aaf31e2364de4539560ac453d704790e4a7a875c90da92133cb0dcb9/68747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f73746172732f6372617a796d61782f64646e732d726f75746535332e7376673f7374796c653d666c61742d737175617265266c6f676f3d646f636b6572" alt="Docker Stars"&gt;&lt;/a&gt;
  &lt;a href="https://hub.docker.com/r/crazymax/ddns-route53/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/1d67286f0cc9cee0643d851d46ab3da6e1da79f7d5b0934150103bc11905e724/68747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f70756c6c732f6372617a796d61782f64646e732d726f75746535332e7376673f7374796c653d666c61742d737175617265266c6f676f3d646f636b6572" alt="Docker Pulls"&gt;&lt;/a&gt;
  &lt;br&gt;&lt;a href="https://goreportcard.com/report/github.com/crazy-max/ddns-route53" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/b5367937f23b690aa13c15f5c5329851370aa40b185c7ff01542d1fe86451535/68747470733a2f2f676f7265706f7274636172642e636f6d2f62616467652f6769746875622e636f6d2f6372617a792d6d61782f64646e732d726f75746535333f7374796c653d666c61742d737175617265" alt="Go Report"&gt;&lt;/a&gt;
  &lt;a href="https://codecov.io/gh/crazy-max/ddns-route53" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/a430e4a7d1ddb687d228aa97b1f70c713084b0ba35cb96535646881d50970046/68747470733a2f2f696d672e736869656c64732e696f2f636f6465636f762f632f6769746875622f6372617a792d6d61782f64646e732d726f75746535333f6c6f676f3d636f6465636f76267374796c653d666c61742d737175617265" alt="Codecov"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/sponsors/crazy-max" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/76abffbdb56011ada7eac2dfe68bf9bede75453ff9daebd88b24ac1f301ca7af/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f73706f6e736f722d6372617a792d2d6d61782d3138313731372e7376673f6c6f676f3d676974687562267374796c653d666c61742d737175617265" alt="Become a sponsor"&gt;&lt;/a&gt;
  &lt;a href="https://www.paypal.me/crazyws" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/d4293ebc9c4569dc5f8415545ffaf4c6acc7385b9d33a376f04511e9af843797/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f646f6e6174652d70617970616c2d3030343537632e7376673f6c6f676f3d70617970616c267374796c653d666c61742d737175617265" alt="Donate PayPal"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;About&lt;/h2&gt;

&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;ddns-route53&lt;/strong&gt; is a CLI application written in &lt;a href="https://golang.org/" rel="nofollow noopener noreferrer"&gt;Go&lt;/a&gt; and delivered as a
&lt;a href="https://github.com/crazy-max/ddns-route53/releases/latest" rel="noopener noreferrer"&gt;single executable&lt;/a&gt; (and a
&lt;a href="https://hub.docker.com/r/crazymax/ddns-route53/" rel="nofollow noopener noreferrer"&gt;Docker image&lt;/a&gt;) that lets you run your own
&lt;a href="https://en.wikipedia.org/wiki/Dynamic_DNS" rel="nofollow noopener noreferrer"&gt;dynamic DNS&lt;/a&gt; service with &lt;a href="https://aws.amazon.com/route53/" rel="nofollow noopener noreferrer"&gt;Amazon Route 53&lt;/a&gt;
on a time-based schedule.&lt;/p&gt;
&lt;div class="markdown-alert markdown-alert-note"&gt;
&lt;p class="markdown-alert-title"&gt;Note&lt;/p&gt;
&lt;p&gt;Want to be notified of new releases? Check out 🔔 &lt;a href="https://github.com/crazy-max/diun" rel="noopener noreferrer"&gt;Diun (Docker Image Update Notifier)&lt;/a&gt;
project!&lt;/p&gt;
&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Documentation&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;Documentation can be found on &lt;a href="https://crazymax.dev/ddns-route53/" rel="nofollow noopener noreferrer"&gt;https://crazymax.dev/ddns-route53/&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Contributing&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;Want to contribute? Awesome! The most basic way to show your support is to star
the project, or to raise issues. You can also support this project by &lt;a href="https://github.com/sponsors/crazy-max" rel="noopener noreferrer"&gt;&lt;strong&gt;becoming a sponsor on GitHub&lt;/strong&gt;&lt;/a&gt;
or by making a &lt;a href="https://www.paypal.me/crazyws" rel="nofollow noopener noreferrer"&gt;PayPal donation&lt;/a&gt; to ensure this
journey continues indefinitely!&lt;/p&gt;
&lt;p&gt;Thanks again for your support, it is much appreciated! 🙏&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;License&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;MIT. See &lt;code&gt;LICENSE&lt;/code&gt; for more details.&lt;/p&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/crazy-max/ddns-route53" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;p&gt;&lt;a href="https://github.com/crazy-max/ddns-route53" rel="noopener noreferrer"&gt;&lt;strong&gt;ddns-route53&lt;/strong&gt;&lt;/a&gt; is a CLI application written in &lt;a href="https://golang.org/" rel="noopener noreferrer"&gt;Go&lt;/a&gt; that lets you run your own &lt;a href="https://en.wikipedia.org/wiki/Dynamic_DNS" rel="noopener noreferrer"&gt;dynamic DNS&lt;/a&gt; service with &lt;a href="https://aws.amazon.com/route53/" rel="noopener noreferrer"&gt;Amazon Route 53&lt;/a&gt; on a time-based schedule.&lt;/p&gt;

&lt;p&gt;It can handle IPv4 and IPv6 addresses and has an internal cron implementation via go routines for use as a service.&lt;/p&gt;

&lt;p&gt;Configuration is done through a simple YAML file that looks like it :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;credentials&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;access_key_id&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;&amp;lt;AWS_ACCESS_KEY_ID&amp;gt;"&lt;/span&gt;
  &lt;span class="na"&gt;secret_access_key&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;&amp;lt;AWS_SECRET_ACCESS_KEY&amp;gt;"&lt;/span&gt;

&lt;span class="na"&gt;route53&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;hosted_zone_id&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;&amp;lt;HOSTED_ZONE_ID&amp;gt;"&lt;/span&gt;
  &lt;span class="na"&gt;records_set&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;ddns.example.com."&lt;/span&gt;
      &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;A"&lt;/span&gt;
      &lt;span class="na"&gt;ttl&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;300&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;another.example2.com."&lt;/span&gt;
      &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;A"&lt;/span&gt;
      &lt;span class="na"&gt;ttl&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;300&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And an official &lt;a href="https://hub.docker.com/r/crazymax/ddns-route53" rel="noopener noreferrer"&gt;Docker image&lt;/a&gt; 🐳 is also available.&lt;/p&gt;

&lt;p&gt;Hope it will help some of you.&lt;/p&gt;




&lt;p&gt;Support this project by &lt;a href="https://github.com/sponsors/crazy-max" rel="noopener noreferrer"&gt;&lt;strong&gt;becoming a sponsor on GitHub&lt;/strong&gt;&lt;/a&gt; 👏 or by making a &lt;a href="https://www.paypal.me/crazyws" rel="noopener noreferrer"&gt;Paypal donation&lt;/a&gt; to ensure this journey continues indefinitely! 🚀&lt;/p&gt;

&lt;p&gt;Thanks again for your support, it is much appreciated! 🙏&lt;/p&gt;

</description>
      <category>dns</category>
      <category>ddns</category>
      <category>route53</category>
      <category>go</category>
    </item>
    <item>
      <title>swarm-cronjob</title>
      <dc:creator>CrazyMax</dc:creator>
      <pubDate>Fri, 21 Dec 2018 23:39:52 +0000</pubDate>
      <link>https://forem.com/crazymax/swarm-cronjob-3lp3</link>
      <guid>https://forem.com/crazymax/swarm-cronjob-3lp3</guid>
      <description>&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vJ70wriM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/github-logo-ba8488d21cd8ee1fee097b8410db9deaa41d0ca30b004c0c63de0a479114156f.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/crazy-max"&gt;
        crazy-max
      &lt;/a&gt; / &lt;a href="https://github.com/crazy-max/swarm-cronjob"&gt;
        swarm-cronjob
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      📅 Create jobs on a time-based schedule on Docker Swarm
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;&lt;a href="https://github.com/crazy-max/swarm-cronjob"&gt;&lt;img height="292" src="https://res.cloudinary.com/practicaldev/image/fetch/s--_vX82QUn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/crazy-max/swarm-cronjob/master/.res/swarm-cronjob.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
  &lt;a href="https://github.com/crazy-max/swarm-cronjob/releases/latest"&gt;&lt;img src="https://camo.githubusercontent.com/8d4015d1f85bfb53b47d8299042f6fc140b86c27/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f6372617a792d6d61782f737761726d2d63726f6e6a6f622e7376673f7374796c653d666c61742d737175617265" alt="GitHub release"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/crazy-max/swarm-cronjob/releases/latest"&gt;&lt;img src="https://camo.githubusercontent.com/9ba6b051abc0c4a516786b9625735ca47d7e79d3/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f646f776e6c6f6164732f6372617a792d6d61782f737761726d2d63726f6e6a6f622f746f74616c2e7376673f7374796c653d666c61742d737175617265" alt="Total downloads"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/crazy-max/swarm-cronjob/actions?workflow=build"&gt;&lt;img src="https://camo.githubusercontent.com/7122d946dac9cb331093c2ca5a2eb9de96ed5fd3/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f776f726b666c6f772f7374617475732f6372617a792d6d61782f737761726d2d63726f6e6a6f622f6275696c643f6c6162656c3d6275696c64266c6f676f3d676974687562267374796c653d666c61742d737175617265" alt="Build Status"&gt;&lt;/a&gt;
  &lt;a href="https://hub.docker.com/r/crazymax/swarm-cronjob/" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/d74a242207220c7a958584e5ff4047f8d8dfdeb0/68747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f73746172732f6372617a796d61782f737761726d2d63726f6e6a6f622e7376673f7374796c653d666c61742d737175617265266c6f676f3d646f636b6572" alt="Docker Stars"&gt;&lt;/a&gt;
  &lt;a href="https://hub.docker.com/r/crazymax/swarm-cronjob/" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/ed234eb192d53575f14fa1b87442858908b3c7d9/68747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f70756c6c732f6372617a796d61782f737761726d2d63726f6e6a6f622e7376673f7374796c653d666c61742d737175617265266c6f676f3d646f636b6572" alt="Docker Pulls"&gt;&lt;/a&gt;
  &lt;br&gt;&lt;a href="https://goreportcard.com/report/github.com/crazy-max/swarm-cronjob" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/5e5f43fd997042691d0242edb5c6072118c26d23/68747470733a2f2f676f7265706f7274636172642e636f6d2f62616467652f6769746875622e636f6d2f6372617a792d6d61782f737761726d2d63726f6e6a6f623f7374796c653d666c61742d737175617265" alt="Go Report"&gt;&lt;/a&gt;
  &lt;a href="https://www.codacy.com/app/crazy-max/swarm-cronjob" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/c546185b1996e4ac96a62995a03d7d1f061fd426/68747470733a2f2f696d672e736869656c64732e696f2f636f646163792f67726164652f31656462383062306639376234313935623762623530636662333561333764322e7376673f7374796c653d666c61742d737175617265" alt="Code Quality"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/sponsors/crazy-max"&gt;&lt;img src="https://camo.githubusercontent.com/6920ae7be63cf83ed88901612e1f25b7c3ee9c75/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f73706f6e736f722d6372617a792d2d6d61782d3138313731372e7376673f6c6f676f3d676974687562267374796c653d666c61742d737175617265" alt="Become a sponsor"&gt;&lt;/a&gt;
  &lt;a href="https://www.paypal.me/crazyws" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/93df17879fa8f6a7a09e115cf16e9d728c9ff1f2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f646f6e6174652d70617970616c2d3030343537632e7376673f6c6f676f3d70617970616c267374796c653d666c61742d737175617265" alt="Donate Paypal"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;h2&gt;
About&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;swarm-cronjob&lt;/strong&gt; creates jobs on a time-based schedule on &lt;a href="https://docs.docker.com/engine/swarm/" rel="nofollow"&gt;Swarm&lt;/a&gt; with a dedicated service in a distributed manner that configures itself automatically and dynamically through &lt;a href="https://docs.docker.com/engine/reference/commandline/service_create/#set-metadata-on-a-service--l---label" rel="nofollow"&gt;labels&lt;/a&gt; and Docker API.&lt;/p&gt;

&lt;p&gt;💡 Want to be notified of new releases? Check out 🔔 &lt;a href="https://github.com/crazy-max/diun"&gt;Diun (Docker Image Update Notifier)&lt;/a&gt; project!&lt;/p&gt;

&lt;h2&gt;
Features&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Continuously updates its configuration (no restart)&lt;/li&gt;
&lt;li&gt;Cron implementation through go routines&lt;/li&gt;
&lt;li&gt;Allow to skip a job if the service is currently running&lt;/li&gt;
&lt;li&gt;Timezone can be changed for the scheduler&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
Documentation&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://raw.githubusercontent.com/crazy-max/swarm-cronjob/master/doc/get-started.md"&gt;Get started&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Install
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://raw.githubusercontent.com/crazy-max/swarm-cronjob/master/doc/install/docker.md"&gt;With Docker&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://raw.githubusercontent.com/crazy-max/swarm-cronjob/master/doc/install/binary.md"&gt;From binary&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://raw.githubusercontent.com/crazy-max/swarm-cronjob/master/doc/install/linux-service.md"&gt;Linux service&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;&lt;a href="https://raw.githubusercontent.com/crazy-max/swarm-cronjob/master/doc/faq.md"&gt;FAQ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://raw.githubusercontent.com/crazy-max/swarm-cronjob/master/doc/logs.md"&gt;Logs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
How can I help?&lt;/h2&gt;

&lt;p&gt;All kinds of contributions are welcome 🙌! The most basic way to show your support is to star 🌟 the project, or to raise issues 💬 You can also support this project by &lt;a href="https://github.com/sponsors/crazy-max"&gt;&lt;strong&gt;becoming a sponsor on GitHub&lt;/strong&gt;&lt;/a&gt; 👏 or by making a &lt;a href="https://www.paypal.me/crazyws" rel="nofollow"&gt;Paypal donation&lt;/a&gt; to ensure this journey continues indefinitely! 🚀&lt;/p&gt;

&lt;p&gt;Thanks again for your support…&lt;/p&gt;
&lt;/div&gt;


&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/crazy-max/swarm-cronjob"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;p&gt;📅 swarm-cronjob creates jobs on a time-based schedule on Swarm 🐳 with a dedicated service in a distributed manner that configures itself automatically and dynamically through labels and Docker API. Here are the main features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Continuously updates its configuration (no restart)&lt;/li&gt;
&lt;li&gt;Cron implementation through go routines&lt;/li&gt;
&lt;li&gt;Allow to skip a job if the service is currently running&lt;/li&gt;
&lt;li&gt;Timezone can be changed for the scheduler&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Hope it will help some of you. Your comments are welcome!&lt;/p&gt;




&lt;p&gt;Support this project by &lt;a href="https://github.com/sponsors/crazy-max"&gt;&lt;strong&gt;becoming a sponsor on GitHub&lt;/strong&gt;&lt;/a&gt; 👏 or by making a &lt;a href="https://www.paypal.me/crazyws"&gt;Paypal donation&lt;/a&gt; to ensure this journey continues indefinitely! 🚀&lt;/p&gt;

&lt;p&gt;Thanks again for your support, it is much appreciated! 🙏&lt;/p&gt;

</description>
      <category>docker</category>
      <category>swarm</category>
      <category>cronjob</category>
      <category>go</category>
    </item>
  </channel>
</rss>
