<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Golang on RedDec</title><link>https://blog.reddec.net/tags/golang/</link><description>Recent content in Golang on RedDec</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Mon, 15 Apr 2024 07:37:29 +0000</lastBuildDate><atom:link href="https://blog.reddec.net/tags/golang/index.xml" rel="self" type="application/rss+xml"/><item><title>Go-Flags VSCode snippet</title><link>https://blog.reddec.net/posts/go-flags-vscode-snippet/</link><pubDate>Mon, 15 Apr 2024 07:37:29 +0000</pubDate><guid>https://blog.reddec.net/posts/go-flags-vscode-snippet/</guid><description>&lt;p&gt;Snippet for generating &lt;a href="https://github.com/jessevdk/go-flags"&gt;go-flags&lt;/a&gt; parameters in VS Code.&lt;/p&gt;</description></item><item><title>How to get SSL certificates on Synology</title><link>https://blog.reddec.net/posts/how-to-get-ssl-on-synology/</link><pubDate>Tue, 11 Jan 2022 09:24:06 +0800</pubDate><guid>https://blog.reddec.net/posts/how-to-get-ssl-on-synology/</guid><description>&lt;p&gt;I have been working with Synology Disk Station products for SOHO for a long time now. It&amp;rsquo;s a costly NAS but worth it because of: the combination of high-quality software (DSM) and hardware, and it is friendly for newcomers and professionals alike.&lt;/p&gt;
&lt;p&gt;By default, Synology offers access to the NAS UI via HTTPS or HTTP protocol.&lt;/p&gt;
&lt;p&gt;While HTTP is the simplest option, HTTPS (if done properly) is much more secure. However, the self-signed certificate, provided by Synology is not good neither in terms of security or user experience (ie: RED alerts in browsers and etc).&lt;/p&gt;
&lt;p&gt;In general, in DSM 7 you may issue a certificate by two methods:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;request a free certificate from Let&amp;rsquo;s Encrypt&lt;/li&gt;
&lt;li&gt;import already existing certificate&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The first option is available only in case you exposed your Synology to the public internet which might not be the best idea in terms of security.&lt;/p&gt;
&lt;p&gt;In this article, I would like to share an approach on how to secure a connection to the Synology by issuing a valid (!) certificate without exposing NAS to the outer world.&lt;/p&gt;</description></item><item><title>Kubernetes Ingress Dashboard</title><link>https://blog.reddec.net/posts/kid/</link><pubDate>Mon, 13 Dec 2021 17:13:10 +0800</pubDate><guid>https://blog.reddec.net/posts/kid/</guid><description>&lt;p&gt;&lt;img loading="lazy" src="https://blog.reddec.net/img/ingress-dashboard.svg"&gt;&lt;/p&gt;
&lt;div&gt;
&lt;a a href="https://github.com/reddec/ingress-dashboard" target="_blank"&gt;
&amp;nbsp;&amp;nbsp;reddec/ingress-dashboard
&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Automatic dashboard generation for Ingress objects.&lt;/p&gt;
&lt;p&gt;Features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;No JS&lt;/li&gt;
&lt;li&gt;Supports OIDC (Keycloak, Google, Okta, &amp;hellip;) and Basic authorization&lt;/li&gt;
&lt;li&gt;Automatic discovery of Ingress objects, configurable by annotations&lt;/li&gt;
&lt;li&gt;Supports static configuration (in addition to Ingress objects)&lt;/li&gt;
&lt;li&gt;Multiarch docker images: for amd64 and for arm64&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Git Pipe</title><link>https://blog.reddec.net/posts/git-pipe/</link><pubDate>Sat, 12 Jun 2021 17:13:10 +0800</pubDate><guid>https://blog.reddec.net/posts/git-pipe/</guid><description>&lt;p&gt;&lt;img loading="lazy" src="https://blog.reddec.net/img/git-pipe.png"&gt;&lt;/p&gt;
&lt;div&gt;
&lt;a a href="https://github.com/reddec/git-pipe" target="_blank"&gt;
&amp;nbsp;&amp;nbsp;reddec/git-pipe
&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Hassle-free minimal CI/CD for git repos for docker-based projects.&lt;/p&gt;
&lt;p&gt;Features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;zero configuration for repos by default&lt;/li&gt;
&lt;li&gt;optional automatic TLS by Let&amp;rsquo;s Encrypt&lt;/li&gt;
&lt;li&gt;optional automatic domain registration by supported providers&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Nano Run</title><link>https://blog.reddec.net/posts/nano-run/</link><pubDate>Mon, 28 Sep 2020 14:32:41 +0800</pubDate><guid>https://blog.reddec.net/posts/nano-run/</guid><description>&lt;p&gt;&lt;img loading="lazy" src="https://blog.reddec.net/img/nano-run.png"&gt;&lt;/p&gt;
&lt;div&gt;
&lt;a a href="https://github.com/reddec/nano-run" target="_blank"&gt;
&amp;nbsp;&amp;nbsp;reddec/nano-run
&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;A simplified version of &lt;a href="https://blog.reddec.net/posts/trusted-cgi/"&gt;trusted-cgi&lt;/a&gt; designed for async processing extreme amount of requests.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;DevOps friendly - plain YAML configuration per subject&lt;/li&gt;
&lt;li&gt;Low memory footprint&lt;/li&gt;
&lt;li&gt;Can handle any size of request (limited by disk only)&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Trusted CGI</title><link>https://blog.reddec.net/posts/trusted-cgi/</link><pubDate>Mon, 25 May 2020 11:23:08 +0800</pubDate><guid>https://blog.reddec.net/posts/trusted-cgi/</guid><description>&lt;p&gt;&lt;img loading="lazy" src="https://blog.reddec.net/img/trusted-cgi.svg"&gt;&lt;/p&gt;
&lt;div&gt;
&lt;a a href="https://github.com/reddec/trusted-cgi" target="_blank"&gt;
&amp;nbsp;&amp;nbsp;reddec/trusted-cgi
&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Lightweight self-hosted lambda/applications/cgi/serverless-functions engine.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;No specific requirements: just one binary. Working &amp;ldquo;as-is&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Rich API&lt;/li&gt;
&lt;li&gt;Scheduler: run actions in cron-tab like style&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Tinc Boot Full Mesh VPN without pain</title><link>https://blog.reddec.net/posts/tinc-boot-full-mesh-vpn-without-pain/</link><pubDate>Wed, 20 Nov 2019 10:15:46 +0800</pubDate><guid>https://blog.reddec.net/posts/tinc-boot-full-mesh-vpn-without-pain/</guid><description>&lt;p&gt;Automatic, secure, distributed, with transitive connections (that is, forwarding messages when there is no direct access between subscribers), without a single point of failure, peer-to-peer, time-tested, low resource consumption, and a full-mesh VPN network with the ability to “punch” NAT – is it possible?&lt;/p&gt;</description></item><item><title>Tinc Boot</title><link>https://blog.reddec.net/posts/tinc-boot/</link><pubDate>Tue, 15 Oct 2019 23:19:43 +0800</pubDate><guid>https://blog.reddec.net/posts/tinc-boot/</guid><description>&lt;p&gt;&lt;img loading="lazy" src="https://blog.reddec.net/img/tinc-boot.png"&gt;&lt;/p&gt;
&lt;div&gt;
&lt;a a href="https://github.com/reddec/tinc-boot" target="_blank"&gt;
&amp;nbsp;&amp;nbsp;reddec/tinc-boot
&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Tinc-boot - is a all-in-one tool with zero dependency (except tinc of course), that aims to achieve:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;one-line node initialization&lt;/li&gt;
&lt;li&gt;automatic keys distribution&lt;/li&gt;
&lt;li&gt;simplified procedure to add new node to existent net&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Tinc Boot Full Mesh сеть без боли</title><link>https://blog.reddec.net/posts/tinc-boot-full-mesh-%D1%81%D0%B5%D1%82%D1%8C-%D0%B1%D0%B5%D0%B7-%D0%B1%D0%BE%D0%BB%D0%B8/</link><pubDate>Fri, 20 Sep 2019 11:06:38 +0800</pubDate><guid>https://blog.reddec.net/posts/tinc-boot-full-mesh-%D1%81%D0%B5%D1%82%D1%8C-%D0%B1%D0%B5%D0%B7-%D0%B1%D0%BE%D0%BB%D0%B8/</guid><description>&lt;p&gt;Автоматическая, защищенная, распределенная, с транзистивными связями (т.е. пересылкой сообщений, когда нет прямого доступа между абонентами), без единой точки отказа, равноправная, проверенная временем, с низким потреблением ресурсов, full-mesh VPN сеть c возможностью “пробивки” NAT — это возможно?&lt;/p&gt;
&lt;p&gt;Полная статья опубликована на &lt;a href="https://habr.com/ru/post/468213/"&gt;Хабр&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Fluent Amqp</title><link>https://blog.reddec.net/posts/fluent-amqp/</link><pubDate>Wed, 30 May 2018 23:23:12 +0800</pubDate><guid>https://blog.reddec.net/posts/fluent-amqp/</guid><description>&lt;p&gt;&lt;img loading="lazy" src="https://blog.reddec.net/img/fluent-amqp.svg"&gt;&lt;/p&gt;
&lt;div&gt;
&lt;a a href="https://github.com/reddec/fluent-amqp" target="_blank"&gt;
&amp;nbsp;&amp;nbsp;reddec/fluent-amqp
&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Fluent and easy wrapper over streadway-amqp API. Adds such features like:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Reconnecting. Will restore all defined infrastructure&lt;/li&gt;
&lt;li&gt;Optional auto-requeue (with delay)&lt;/li&gt;
&lt;li&gt;Signing and verifiying messages by public/private pair&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Легкая система мониторинга с Телеграмом и консулом</title><link>https://blog.reddec.net/posts/%D0%BB%D0%B5%D0%B3%D0%BA%D0%B0%D1%8F-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0-%D0%BC%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3%D0%B0-%D1%81-%D1%82%D0%B5%D0%BB%D0%B5%D0%B3%D1%80%D0%B0/</link><pubDate>Tue, 08 Aug 2017 11:11:54 +0800</pubDate><guid>https://blog.reddec.net/posts/%D0%BB%D0%B5%D0%B3%D0%BA%D0%B0%D1%8F-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0-%D0%BC%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3%D0%B0-%D1%81-%D1%82%D0%B5%D0%BB%D0%B5%D0%B3%D1%80%D0%B0/</guid><description>&lt;p&gt;Эволюционно так получилось, что в моем личном владении оказался не маленький зоопарк различных серверов: от дешевого Supermicro до топового (на момент выпуска) HP Gen 8. Все конечно связано оптикой и прочими радостями жизни.&lt;/p&gt;
&lt;p&gt;И вроде все работает. Но иногда наступает тот дивный чудный момент, когда приходит потребитель одного из сервисов с вопросом вида “а чего-то у меня уже неделю сервис такой-то немного не живой”.&lt;/p&gt;</description></item><item><title>Monexec</title><link>https://blog.reddec.net/posts/monexec/</link><pubDate>Tue, 04 Jul 2017 14:47:11 +0800</pubDate><guid>https://blog.reddec.net/posts/monexec/</guid><description>&lt;p&gt;&lt;img loading="lazy" src="https://blog.reddec.net/img/monexec.svg"&gt;&lt;/p&gt;
&lt;div&gt;
&lt;a a href="https://github.com/reddec/monexec" target="_blank"&gt;
&amp;nbsp;&amp;nbsp;reddec/monexec
&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Light supervisor on Go (with optional Consul autoregistration)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Just a single binary file pre-compilled for most major platforms&lt;/li&gt;
&lt;li&gt;Can be used as a Golang library with clean and simple architecture&lt;/li&gt;
&lt;li&gt;Integrated with Consul&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>