<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0"><id>tag:blogger.com,1999:blog-5146606961939082932</id><updated>2020-12-28T09:36:23.507+01:00</updated><category term="Linux" /><category term="Oracle" /><category term="Fun" /><category term="Virtualization" /><category term="MISC" /><category term="Web" /><category term="OS" /><category term="SOA" /><category term="Cloud" /><category term="BPEL" /><category term="Programming" /><category term="Review" /><category term="Android" /><category term="Application Server" /><category term="Database" /><category term="11g" /><category term="Kernel" /><category term="Google" /><category term="Docker" /><category term="JDeveloper" /><category term="10g" /><category term="12c" /><category term="Microservices" /><category term="Nexus 7" /><category term="AWS" /><category term="Web2.0" /><category term="Java" /><category term="Microsoft Azure" /><category term="SUN" /><category term="Security" /><category term="Useless commands" /><category term="Xyna" /><category term="Tutorials" /><category term="UMPC" /><category term="18c" /><category term="History" /><category term="Support" /><category term="WSDL" /><category term="ZigBee" /><category term="BPMN" /><category term="Solaris" /><category term="CISCO" /><category term="IBM" /><category term="IPv6" /><category term="IT Business" /><category term="Kubernetes" /><category term="Openafs" /><category term="UEFI" /><category term="VPN" /><category term="Batch processing" /><category term="Intel" /><category term="Tischtennis" /><category term="19c" /><category term="Jouralism" /><category term="Science" /><category term="9i" /><category term="Azure" /><category term="Perry Rhodan" /><category term="Physics" /><category term="Warehouse" /><title type="text">Run like Hell</title><subtitle type="html" /><link rel="alternate" type="text/html" href="http://dietrichschroff.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default?start-index=26&amp;max-results=25&amp;redirect=false" /><author><name>Dietrich Schroff</name><uri>http://www.blogger.com/profile/18397485256708620180</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>550</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/blogspot/idXZd" /><feedburner:info uri="blogspot/idxzd" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry><id>tag:blogger.com,1999:blog-5146606961939082932.post-4528255668785403400</id><published>2020-12-23T20:05:00.001+01:00</published><updated>2020-12-23T20:05:04.564+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Docker" /><category scheme="http://www.blogger.com/atom/ns#" term="Kubernetes" /><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><title type="text">MicroK8s: more problems - log flooding</title><content type="html">&lt;p&gt;After getting my kubernetes nodes running on ubuntu's microK8s&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-U2KW2MoyZm0/X71Zz6g_DpI/AAAAAAAA2v4/jWoxOFgo7m0uTdQvmJM_DDnqUrxpvZW7QCLcBGAsYHQ/s174/Screenshot%2Bfrom%2B2020-11-24%2B19-55-03.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="83" data-original-width="174" src="https://1.bp.blogspot.com/-U2KW2MoyZm0/X71Zz6g_DpI/AAAAAAAA2v4/jWoxOFgo7m0uTdQvmJM_DDnqUrxpvZW7QCLcBGAsYHQ/s0/Screenshot%2Bfrom%2B2020-11-24%2B19-55-03.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;i got thousands of these messages in my syslog:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span style="font-family: courier;"&gt;Dec 22 21:15:00 ubuntu microk8s.daemon-kubelet[10978]: W1122 21:15:00.735176&amp;nbsp;&amp;nbsp; 10978 clientconn.go:1223] grpc: addrConn.createTransport fail&lt;br /&gt;ed to connect to {unix:///var/snap/microk8s/common/run/containerd.sock&amp;nbsp; &amp;lt;nil&amp;gt; 0 &amp;lt;nil&amp;gt;}. Err :connection error: desc = "transport: Error whil&lt;br /&gt;e dialing dial unix:///var/snap/microk8s/common/run/containerd.sock: timeout". Reconnecting...&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: courier;"&gt;Dec 22 21:15:00 ubuntu microk8s.daemon-kubelet[10978]: W1122 21:15:00.737524&amp;nbsp;&amp;nbsp; 10978 clientconn.go:1223] grpc: addrConn.createTransport fail&lt;br /&gt;ed to connect to {unix:///var/snap/microk8s/common/run/containerd.sock&amp;nbsp; &amp;lt;nil&amp;gt; 0 &amp;lt;nil&amp;gt;}. Err :connection error: desc = "transport: Error whil&lt;br /&gt;e dialing dial unix:///var/snap/microk8s/common/run/containerd.sock: timeout". Reconnecting...&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Really annoying i found no solution for this problem. But there is an easy way to correct this problem:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;pre style="background: black; color: silver;"&gt;snap disable microk8s&lt;br /&gt;snap enable microk8s&lt;/pre&gt;&lt;/blockquote&gt;Run this on both nodes and the problem is gone (i think rebooting will do the same job). &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/idXZd/~4/Ax1-kJUWhSc" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dietrichschroff.blogspot.com/feeds/4528255668785403400/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://dietrichschroff.blogspot.com/2020/12/microk8s-more-problems-log-flooding.html#comment-form" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/4528255668785403400" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/4528255668785403400" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/idXZd/~3/Ax1-kJUWhSc/microk8s-more-problems-log-flooding.html" title="MicroK8s: more problems - log flooding" /><author><name>Dietrich Schroff</name><uri>http://www.blogger.com/profile/18397485256708620180</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-U2KW2MoyZm0/X71Zz6g_DpI/AAAAAAAA2v4/jWoxOFgo7m0uTdQvmJM_DDnqUrxpvZW7QCLcBGAsYHQ/s72-c/Screenshot%2Bfrom%2B2020-11-24%2B19-55-03.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dietrichschroff.blogspot.com/2020/12/microk8s-more-problems-log-flooding.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5146606961939082932.post-591770654537271380</id><published>2020-12-18T19:03:00.003+01:00</published><updated>2020-12-22T09:35:44.069+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Fun" /><category scheme="http://www.blogger.com/atom/ns#" term="Review" /><title type="text">Review: AIOPS for dummies - the newest buzzword in town...</title><content type="html">&lt;p&gt;&amp;nbsp;Today i ran over an article in linkedin, where this book was announced:&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-f8Vg09A8sec/X9znHoXMPnI/AAAAAAAA3B0/W7kepWdbICgdbPaU2MZ84ThmW6fVdFbRwCLcBGAsYHQ/s814/Screenshot%2Bfrom%2B2020-12-18%2B18-27-57.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="814" data-original-width="578" height="320" src="https://1.bp.blogspot.com/-f8Vg09A8sec/X9znHoXMPnI/AAAAAAAA3B0/W7kepWdbICgdbPaU2MZ84ThmW6fVdFbRwCLcBGAsYHQ/s320/Screenshot%2Bfrom%2B2020-12-18%2B18-27-57.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;The next big thing behind DevOps is AIOps?&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;a href="https://www.moogsoft.com"&gt;Moogsoft&lt;/a&gt; says about themselves: "Moogsoft is a pioneer and leading provider of AIOps solutions that help IT teams work faster and smarter. With patented AI analyzing billions of events daily across the world's most complex IT environments, the Moogsoft AIOps platform helps the world's top enterprises avoid outages, automate service assurance, and accelerate digital transformation initiatives...."&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;So let's take a look inside this book with 43 pages and 7 chapters:&lt;/p&gt;&lt;p&gt;Chapter one start with the declaration of the problem: DevOps &amp;amp; reliability need improvements in incident resolution, meeting SLAs and accelerating digital transformation. Very nice is the short case study, which is provided there.&lt;/p&gt;&lt;p&gt;The beginning of chapter 2 starts with this setence: "AI is technology used to create machines that imitate intelligent human behaviour." YES! They are not talking over the almighty AI - this sounds very promising. AI is for moogsoft statistics, probabilites, calculations and algebra - as physicist i strongly agree with that "legacy" approach. Then this book covers very brief the ai learning techniques. &lt;/p&gt;&lt;p&gt;In chapter 3 the AIOps workflow is presented. Without going into any details here: Moogsoft uses a very nice iconic design, which explains their procedure well. At this point i would recommend you, to take a look on that...&lt;/p&gt;&lt;p&gt;Chapter 4 provides some more use cases for AIOps. Nice - but nothing really new.&lt;/p&gt;&lt;p&gt;Chapter 5 claims, that AIOps is providing a unified view for monitoring, observability and change data. Sounds good - but i think digging into details will show limits of the promise. But page 32 shows a list of systems which are already integrated - this is really a very impressive list.&lt;/p&gt;&lt;p&gt;In chapter 6 moogsoft advertise their small entry solution "&lt;a href="https://moogsoft.com/express" target="_blank"&gt;moogsoft express&lt;/a&gt;".&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;The last chapter closes with the typical "ten tips".&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;All in all a nice idea and let's see how this solution performs on the market! &lt;br /&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/idXZd/~4/FNM0P5k5Jo0" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dietrichschroff.blogspot.com/feeds/591770654537271380/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://dietrichschroff.blogspot.com/2020/12/review-aiops-for-dummies-newest.html#comment-form" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/591770654537271380" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/591770654537271380" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/idXZd/~3/FNM0P5k5Jo0/review-aiops-for-dummies-newest.html" title="Review: AIOPS for dummies - the newest buzzword in town..." /><author><name>Dietrich Schroff</name><uri>http://www.blogger.com/profile/18397485256708620180</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-f8Vg09A8sec/X9znHoXMPnI/AAAAAAAA3B0/W7kepWdbICgdbPaU2MZ84ThmW6fVdFbRwCLcBGAsYHQ/s72-c/Screenshot%2Bfrom%2B2020-12-18%2B18-27-57.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dietrichschroff.blogspot.com/2020/12/review-aiops-for-dummies-newest.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5146606961939082932.post-1705393024419940138</id><published>2020-12-16T21:41:00.001+01:00</published><updated>2020-12-16T21:41:00.265+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Database" /><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><category scheme="http://www.blogger.com/atom/ns#" term="ZigBee" /><title type="text">zigbee: moving data from mqtt to influxdb - transforming strings to integers</title><content type="html">&lt;p&gt;After some first steps with zigbee devices and storing the data in an &lt;a href="https://www.influxdata.com/"&gt;influxdb&lt;/a&gt;, i noticed that string values are suboptimal for building graphs.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://dietrichschroff.blogspot.com/2020/11/zigbeelinux-getting-data-from-zigbee.html"&gt;Moving the data from mqtt to influxdb&lt;/a&gt; was done with telegraf:&lt;br /&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-lbnzBAdw3CY/X8E7OMxaOJI/AAAAAAAA2xU/I5OFL5sexU0ol918tdoOF2Q_2lqEMOROgCLcBGAsYHQ/s1230/Screenshot%2Bfrom%2B2020-11-27%2B18-45-06.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="399" data-original-width="1230" height="208" src="https://1.bp.blogspot.com/-lbnzBAdw3CY/X8E7OMxaOJI/AAAAAAAA2xU/I5OFL5sexU0ol918tdoOF2Q_2lqEMOROgCLcBGAsYHQ/w640-h208/Screenshot%2Bfrom%2B2020-11-27%2B18-45-06.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://www.influxdata.com/time-series-platform/telegraf/"&gt;https://www.influxdata.com/time-series-platform/telegraf/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;And i was wondering, how i can change string to integers, but this i very easy:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&amp;nbsp;&lt;span style="font-family: courier;"&gt; [[processors.enum]]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; order = 2&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [[processors.enum.mapping]]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; field = "state"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [processors.enum.mapping.value_mappings]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "ON" = 1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "OFF" = 0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [[processors.enum.mapping]]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; field = "contact"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [processors.enum.mapping.value_mappings]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "true" = 2&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "false" = 1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [[processors.enum.mapping]]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; field = "tamper"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [processors.enum.mapping.value_mappings]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "true" = 1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "false" = 0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [[processors.enum.mapping]]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; field = "water_leak"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [processors.enum.mapping.value_mappings]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "true" = 1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "false" = 0&lt;/span&gt;&lt;/blockquote&gt;Next problem: if the column "water_leak" was already added inside your influxdb, you can not add numbers - so you have to drop the table and loose your data...&lt;p&gt;&lt;/p&gt;&lt;p&gt;(This is not the full truth: you can export the data via a select to a file and insert the data afterwards - with the appropriate numbers...)&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/idXZd/~4/f4yIg31n1_c" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dietrichschroff.blogspot.com/feeds/1705393024419940138/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://dietrichschroff.blogspot.com/2020/12/zigbee-moving-data-from-mqtt-to.html#comment-form" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/1705393024419940138" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/1705393024419940138" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/idXZd/~3/f4yIg31n1_c/zigbee-moving-data-from-mqtt-to.html" title="zigbee: moving data from mqtt to influxdb - transforming strings to integers" /><author><name>Dietrich Schroff</name><uri>http://www.blogger.com/profile/18397485256708620180</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dietrichschroff.blogspot.com/2020/12/zigbee-moving-data-from-mqtt-to.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5146606961939082932.post-3865646690630590569</id><published>2020-12-12T19:54:00.001+01:00</published><updated>2020-12-12T19:54:00.355+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Docker" /><category scheme="http://www.blogger.com/atom/ns#" term="Kubernetes" /><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><title type="text">My start to a local kubernetes cluster: microK8s @ubuntu</title><content type="html">&lt;p&gt;After playing around with zigbee on raspberry pi, i decided to build up my own kubernetes cluster at home. I have to raspberry pi running ubuntu server, so i wanted to go this direction:&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-AMRbilY0FS8/X71XavaU5SI/AAAAAAAA2vs/Ek_gkVFEMRUmVvwVop8biWLBP1gDrlbAwCLcBGAsYHQ/s174/Screenshot%2Bfrom%2B2020-11-24%2B19-55-03.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="83" data-original-width="174" src="https://1.bp.blogspot.com/-AMRbilY0FS8/X71XavaU5SI/AAAAAAAA2vs/Ek_gkVFEMRUmVvwVop8biWLBP1gDrlbAwCLcBGAsYHQ/s0/Screenshot%2Bfrom%2B2020-11-24%2B19-55-03.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;The start is very easy. Just follow the steps shown here:&lt;/p&gt;&lt;p&gt;&lt;a href="https://microk8s.io/docs"&gt;https://microk8s.io/docs&lt;/a&gt;&lt;/p&gt;&lt;p&gt;But by adding the second node i got the following result:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;pre style="background: black none repeat scroll 0% 0%; color: silver;"&gt;root@zigbee:/home/ubuntu/kubernetes# microk8s kubectl get nodes&lt;br /&gt;NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; STATUS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ROLES&amp;nbsp;&amp;nbsp;&amp;nbsp; AGE&amp;nbsp;&amp;nbsp; VERSION&lt;br /&gt;ubuntu&amp;nbsp;&amp;nbsp; NotReady&amp;nbsp;&amp;nbsp; &amp;lt;none&amp;gt;&amp;nbsp;&amp;nbsp; 98s&amp;nbsp;&amp;nbsp; v1.19.3-34+b9e8e732a07cb6&lt;br /&gt;zigbee&amp;nbsp;&amp;nbsp; NotReady&amp;nbsp;&amp;nbsp; &amp;lt;none&amp;gt;&amp;nbsp;&amp;nbsp; 37m&amp;nbsp;&amp;nbsp; v1.19.3-34+b9e8e732a07cb6&lt;/pre&gt;&lt;/blockquote&gt;Hmmm. &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;The best way to debug this problem is&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;pre style="background: black none repeat scroll 0% 0%; color: silver;"&gt;# microk8s inspect&lt;br /&gt;Inspecting Certificates&lt;br /&gt;Inspecting services&lt;br /&gt;&amp;nbsp; Service snap.microk8s.daemon-cluster-agent is running&lt;br /&gt;&amp;nbsp; Service snap.microk8s.daemon-containerd is running&lt;br /&gt;&amp;nbsp; Service snap.microk8s.daemon-apiserver is running&lt;br /&gt;&amp;nbsp; Service snap.microk8s.daemon-apiserver-kicker is running&lt;br /&gt;&amp;nbsp; Service snap.microk8s.daemon-control-plane-kicker is running&lt;br /&gt;&amp;nbsp; Service snap.microk8s.daemon-proxy is running&lt;br /&gt;&amp;nbsp; Service snap.microk8s.daemon-kubelet is running&lt;br /&gt;&amp;nbsp; Service snap.microk8s.daemon-scheduler is running&lt;br /&gt;&amp;nbsp; Service snap.microk8s.daemon-controller-manager is running&lt;br /&gt;&amp;nbsp; Copy service arguments to the final report tarball&lt;br /&gt;Inspecting AppArmor configuration&lt;br /&gt;Gathering system information&lt;br /&gt;&amp;nbsp; Copy processes list to the final report tarball&lt;br /&gt;&amp;nbsp; Copy snap list to the final report tarball&lt;br /&gt;&amp;nbsp; Copy VM name (or none) to the final report tarball&lt;br /&gt;&amp;nbsp; Copy disk usage information to the final report tarball&lt;br /&gt;&amp;nbsp; Copy memory usage information to the final report tarball&lt;br /&gt;&amp;nbsp; Copy server uptime to the final report tarball&lt;br /&gt;&amp;nbsp; Copy current linux distribution to the final report tarball&lt;br /&gt;&amp;nbsp; Copy openSSL information to the final report tarball&lt;br /&gt;&amp;nbsp; Copy network configuration to the final report tarball&lt;br /&gt;Inspecting kubernetes cluster&lt;br /&gt;&amp;nbsp; Inspect kubernetes cluster&lt;br /&gt;Inspecting juju&lt;br /&gt;&amp;nbsp; Inspect Juju&lt;br /&gt;Inspecting kubeflow&lt;br /&gt;&amp;nbsp; Inspect Kubeflow&lt;br /&gt;&lt;br /&gt;# Warning: iptables-legacy tables present, use iptables-legacy to see them&lt;br /&gt;WARNING:&amp;nbsp; Docker is installed. &lt;br /&gt;File "/etc/docker/daemon.json" does not exist. &lt;br /&gt;You should create it and add the following lines: &lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "insecure-registries" : ["localhost:32000"] &lt;br /&gt;}&lt;br /&gt;and then restart docker with: sudo systemctl restart docker&lt;br /&gt;WARNING:&amp;nbsp; The memory cgroup is not enabled. &lt;br /&gt;The cluster may not be functioning properly. Please ensure cgroups are enabled &lt;br /&gt;See for example: https://microk8s.io/docs/install-alternatives#heading--arm &lt;br /&gt;Building the report tarball&lt;br /&gt;&amp;nbsp; Report tarball is at /var/snap/microk8s/1794/inspection-report-20201212_194335.tar.gz&lt;/pre&gt;&lt;/blockquote&gt;And as you can see: this contains the solution!&lt;p&gt;&lt;/p&gt;&lt;p&gt;After adding the /etc/docker/daemon.json everything went fine:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;pre style="background: black none repeat scroll 0% 0%; color: silver;"&gt;root@zigbee:~# kubectl get nodes &lt;br /&gt;NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; STATUS&amp;nbsp;&amp;nbsp; ROLES&amp;nbsp;&amp;nbsp;&amp;nbsp; AGE&amp;nbsp;&amp;nbsp;&amp;nbsp; VERSION&lt;br /&gt;ubuntu&amp;nbsp;&amp;nbsp; Ready&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;none&amp;gt;&amp;nbsp;&amp;nbsp; 46h&amp;nbsp;&amp;nbsp;&amp;nbsp; v1.19.3-34+b9e8e732a07cb6&lt;br /&gt;zigbee&amp;nbsp;&amp;nbsp; Ready&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;none&amp;gt;&amp;nbsp;&amp;nbsp; 2d3h&amp;nbsp;&amp;nbsp; v1.19.3-34+b9e8e732a07cb6&lt;/pre&gt;&lt;/blockquote&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/idXZd/~4/1LtYWChAHjI" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dietrichschroff.blogspot.com/feeds/3865646690630590569/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://dietrichschroff.blogspot.com/2020/12/my-start-to-local-kubernetes-cluster.html#comment-form" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/3865646690630590569" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/3865646690630590569" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/idXZd/~3/1LtYWChAHjI/my-start-to-local-kubernetes-cluster.html" title="My start to a local kubernetes cluster: microK8s @ubuntu" /><author><name>Dietrich Schroff</name><uri>http://www.blogger.com/profile/18397485256708620180</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-AMRbilY0FS8/X71XavaU5SI/AAAAAAAA2vs/Ek_gkVFEMRUmVvwVop8biWLBP1gDrlbAwCLcBGAsYHQ/s72-c/Screenshot%2Bfrom%2B2020-11-24%2B19-55-03.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dietrichschroff.blogspot.com/2020/12/my-start-to-local-kubernetes-cluster.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5146606961939082932.post-1497756621974517719</id><published>2020-12-11T22:01:00.001+01:00</published><updated>2020-12-11T22:01:01.551+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Docker" /><category scheme="http://www.blogger.com/atom/ns#" term="Kubernetes" /><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><title type="text">MicroK8s: Dashboard &amp; RBAC</title><content type="html">&lt;p&gt;If you want to access your dashboard and you have enabled RBAC (&lt;a href="http://dietrichschroff.blogspot.com/2020/12/kubernetes-rights-roles-with-kubectl.html"&gt;like shown here&lt;/a&gt;), you will get this error, if you follow the default manual (&lt;a href="https://microk8s.io/docs/addon-dashboard"&gt;https://microk8s.io/docs/addon-dashboard&lt;/a&gt;):&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-eeRG-2LzM1U/X8qkmnWE6vI/AAAAAAAA29I/po0fnif_MpkQm9oKd934ihDQEMfvotSzACLcBGAsYHQ/s434/Screenshot%2Bfrom%2B2020-12-04%2B22-01-09.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="423" data-original-width="434" height="390" src="https://1.bp.blogspot.com/-eeRG-2LzM1U/X8qkmnWE6vI/AAAAAAAA29I/po0fnif_MpkQm9oKd934ihDQEMfvotSzACLcBGAsYHQ/w400-h390/Screenshot%2Bfrom%2B2020-12-04%2B22-01-09.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: courier;"&gt;secrets is forbidden: User "system:serviceaccount:default:default" cannot list resource "secrets" in API group "" in the namespace "default" &lt;br /&gt;error&lt;br /&gt;persistentvolumeclaims is forbidden: User "system:serviceaccount:default:default" cannot list resource "persistentvolumeclaims" in API group "" in the namespace "default" &lt;br /&gt;error&lt;br /&gt;configmaps is forbidden: User "system:serviceaccount:default:default" cannot list resource "configmaps" in API group "" in the namespace "default" &lt;br /&gt;error&lt;br /&gt;services is forbidden: User "system:serviceaccount:default:default" cannot list resource "services" in API group "" in the namespace "default" &lt;br /&gt;error&lt;br /&gt;statefulsets.apps is forbidden: User "system:serviceaccount:default:default" cannot list resource "statefulsets" in API group "apps" in the namespace "default" &lt;br /&gt;error&lt;br /&gt;ingresses.extensions is forbidden: User "system:serviceaccount:default:default" cannot list resource "ingresses" in API group "extensions" in the namespace "default" &lt;br /&gt;error&lt;br /&gt;replicationcontrollers is forbidden: User "system:serviceaccount:default:default" cannot list resource "replicationcontrollers" in API group "" in the namespace "default" &lt;br /&gt;error&lt;br /&gt;jobs.batch is forbidden: User "system:serviceaccount:default:default" cannot list resource "jobs" in API group "batch" in the namespace "default" &lt;br /&gt;error&lt;br /&gt;replicasets.apps is forbidden: User "system:serviceaccount:default:default" cannot list resource "replicasets" in API group "apps" in the namespace "default" &lt;br /&gt;error&lt;br /&gt;deployments.apps is forbidden: User "system:serviceaccount:default:default" cannot list resource "deployments" in API group "apps" in the namespace "default" &lt;br /&gt;error&lt;br /&gt;events is forbidden: User "system:serviceaccount:default:default" cannot list resource "events" in API group "" in the namespace "default" &lt;br /&gt;error&lt;br /&gt;pods is forbidden: User "system:serviceaccount:default:default" cannot list resource "pods" in API group "" in the namespace "default" &lt;br /&gt;error&lt;br /&gt;daemonsets.apps is forbidden: User "system:serviceaccount:default:default" cannot list resource "daemonsets" in API group "apps" in the namespace "default" &lt;br /&gt;error&lt;br /&gt;cronjobs.batch is forbidden: User "system:serviceaccount:default:default" cannot list resource "cronjobs" in API group "batch" in the namespace "default" &lt;br /&gt;error&lt;br /&gt;namespaces is forbidden: User "system:serviceaccount:default:default" cannot list resource "namespaces" in API group "" at the cluster scope &lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/blockquote&gt;To get the right bearer token you have to this:&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;pre style="background: black none repeat scroll 0% 0%; color: silver;"&gt;export K8S_USER="system:serviceaccount:default:default"&lt;br /&gt;export NAMESPACE="default"&lt;br /&gt;export BINDING="defaultbinding"&lt;br /&gt;export ROLE="defaultrole"&lt;br /&gt;kubectl create clusterrole $ROLE&amp;nbsp; --verb="*"&amp;nbsp; --resource="*.*"&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;kubectl create rolebinding $BINDING --clusterrole=$ROLE --user=$K8S_USER -n $NAMESPACE&lt;br /&gt;kubectl -n ${NAMESPACE} describe secret $(kubectl -n ${NAMESPACE} get secret | (echo "$_") | awk '{print $1}') | grep token: | awk '{print $2}'\n&lt;/pre&gt;&lt;/blockquote&gt;&lt;p&gt;(create role, add a role binding and then get the token)&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-fDDlKIjczes/X8qoECrLPNI/AAAAAAAA29U/dbQ8korO1G0GGb1qE7E1T2JFFKMjVqCwwCLcBGAsYHQ/s1447/Screenshot%2Bfrom%2B2020-12-04%2B22-19-35.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="502" data-original-width="1447" height="222" src="https://1.bp.blogspot.com/-fDDlKIjczes/X8qoECrLPNI/AAAAAAAA29U/dbQ8korO1G0GGb1qE7E1T2JFFKMjVqCwwCLcBGAsYHQ/w640-h222/Screenshot%2Bfrom%2B2020-12-04%2B22-19-35.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;But there is still one error:&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-9rx8i-m0BYo/X8qoQH4J9qI/AAAAAAAA29Y/u__QMy-tuHo4WFE8_spnD1MxOO-gEc-3ACLcBGAsYHQ/s444/Screenshot%2Bfrom%2B2020-12-04%2B22-20-42.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="158" data-original-width="444" height="143" src="https://1.bp.blogspot.com/-9rx8i-m0BYo/X8qoQH4J9qI/AAAAAAAA29Y/u__QMy-tuHo4WFE8_spnD1MxOO-gEc-3ACLcBGAsYHQ/w400-h143/Screenshot%2Bfrom%2B2020-12-04%2B22-20-42.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;To fix this, you have add the cluster-admin role to this account (if you really want clusterwide permissions):&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;pre style="background: black none repeat scroll 0% 0%; color: silver;"&gt;kubectl create clusterrolebinding root-cluster-admin-binding --clusterrole=cluster-admin --user=$K8S_USER&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/idXZd/~4/pbhzlvkNuIA" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dietrichschroff.blogspot.com/feeds/1497756621974517719/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://dietrichschroff.blogspot.com/2020/12/microk8s-dashboard-rbac.html#comment-form" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/1497756621974517719" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/1497756621974517719" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/idXZd/~3/pbhzlvkNuIA/microk8s-dashboard-rbac.html" title="MicroK8s: Dashboard &amp; RBAC" /><author><name>Dietrich Schroff</name><uri>http://www.blogger.com/profile/18397485256708620180</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dietrichschroff.blogspot.com/2020/12/microk8s-dashboard-rbac.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5146606961939082932.post-4959398051284534533</id><published>2020-12-05T08:51:00.002+01:00</published><updated>2020-12-05T08:51:01.980+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Database" /><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><category scheme="http://www.blogger.com/atom/ns#" term="ZigBee" /><title type="text">Securing InfluxDB</title><content type="html">&lt;p&gt;In my monitoring setup i am heavily using &lt;a href="https://www.influxdata.com/products/influxdb/"&gt;InfluxDB&lt;/a&gt;. Starting with one linux server with grafana which loads the data from its local influxdb, i wanted to setup a second linux server.&lt;/p&gt;&lt;p&gt;My options:&lt;/p&gt;&lt;ol style="text-align: left;"&gt;&lt;li&gt;new telegraf, new influxdb, new grafana&lt;br /&gt;but then i have two url (because of two grafanas and i can not copy graphs from one dashboard to the other)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;new telegraf, new influxdb, but grafana from first server&lt;br /&gt;grafana has to get the data over the network&lt;/li&gt;&lt;li&gt;new telegraf, influxdb &amp;amp; grafana from first server&lt;br /&gt;what is happening if telegraf can not reach influxdb, because of network problem? what if the first server is down?&lt;br /&gt;&lt;/li&gt;&lt;li&gt;completely remote monitoring&lt;br /&gt;what is happening if telegraf can not reach the other server? what if the first server is down?&amp;nbsp; &lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p style="text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;As you can see, option 2 is the favorite here.&lt;/p&gt;&lt;p style="text-align: left;"&gt;But therefore InfluxDB has to be secured: SSL + user/password.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;So let's start with creating some certificates:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;openssl req -new -x509 -nodes -out server-cert.pem -days 3650 -keyout server-key.pem &lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;So that you get:&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;zigbee:/etc/influxdb# ls -lrt *pem&lt;br /&gt;-rw-r--r-- 1 influxdb root&amp;nbsp; 1704 Nov&amp;nbsp; 7 09:48 key.pem&lt;br /&gt;-rw-r--r-- 1 influxdb root&amp;nbsp; 1411 Nov&amp;nbsp; 7 09:48 cert.pem&lt;/blockquote&gt;&lt;p&gt;Then add this in /etc/influxdb/influxdb.conf&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&amp;nbsp;https-enabled = true&lt;br /&gt;&amp;nbsp;https-certificate = "/etc/influxdb/cert.pem"&lt;br /&gt;&amp;nbsp;https-private-key = "/etc/influxdb/key.pem"&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;But still a user is missing, so we have to create users (via bash):&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;influx -ssl -unsafeSsl&lt;/p&gt;&lt;p&gt;create user admin with password 'XXXXXXX' with all privileges&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;After that you can test this with&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;root@zigbee:# influx -ssl -unsafeSsl &amp;nbsp;&lt;br /&gt;Connected to https://localhost:8086 version 1.6.4&lt;br /&gt;InfluxDB shell version: 1.6.4&lt;br /&gt;&amp;gt; show databases&lt;br /&gt;ERR: unable to parse authentication credentials&lt;br /&gt;Warning: It is possible this error is due to not setting a database.&lt;br /&gt;Please set a database with the command "use &amp;lt;database&amp;gt;".&lt;br /&gt;&amp;gt; auth&lt;br /&gt;username: admin&lt;br /&gt;password: &lt;br /&gt;&amp;gt; show databases&lt;br /&gt;name: databases&lt;br /&gt;name&lt;br /&gt;----&lt;br /&gt;_internal&lt;/blockquote&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://www.influxdata.com/products/influxdb/" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="474" data-original-width="704" height="269" src="https://1.bp.blogspot.com/-_k1UNUBY_tQ/X6-UbR5pwEI/AAAAAAAA2m8/Ees1z_Js7u8EBi6ZcDh7gGE5BsFDrVnPgCLcBGAsYHQ/w400-h269/Screenshot%2Bfrom%2B2020-11-14%2B09-24-51.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&amp;nbsp;&lt;p&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/idXZd/~4/WTgFA3rEALc" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dietrichschroff.blogspot.com/feeds/4959398051284534533/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://dietrichschroff.blogspot.com/2020/12/securing-influxdb.html#comment-form" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/4959398051284534533" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/4959398051284534533" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/idXZd/~3/WTgFA3rEALc/securing-influxdb.html" title="Securing InfluxDB" /><author><name>Dietrich Schroff</name><uri>http://www.blogger.com/profile/18397485256708620180</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dietrichschroff.blogspot.com/2020/12/securing-influxdb.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5146606961939082932.post-7417601416435961736</id><published>2020-12-04T20:29:00.010+01:00</published><updated>2020-12-12T21:51:57.276+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><category scheme="http://www.blogger.com/atom/ns#" term="Programming" /><category scheme="http://www.blogger.com/atom/ns#" term="Security" /><title type="text">AVM Fritz.Box: how to do an automatic login and get the active WLAN devices</title><content type="html">&lt;p&gt;The AVM Fritz.Box is really a great device - but the possibilities to get monitoring data are very limited. (Please read &lt;a href="https://dietrichschroff.blogspot.com/2020/11/zigbeelinux-getting-data-from-zigbee.html" target="_blank"&gt;this posting&lt;/a&gt;) &lt;/p&gt;&lt;p&gt;Which data do i want?&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-Pe1vbN90aTA/X7lsPAC34dI/AAAAAAAA2sg/5tVbGLMUdNcTP3OUIX6MhRP7AppGxXSvACLcBGAsYHQ/s360/Screenshot%2Bfrom%2B2020-11-21%2B20-35-52.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="360" data-original-width="252" height="212" src="https://1.bp.blogspot.com/-Pe1vbN90aTA/X7lsPAC34dI/AAAAAAAA2sg/5tVbGLMUdNcTP3OUIX6MhRP7AppGxXSvACLcBGAsYHQ/w149-h212/Screenshot%2Bfrom%2B2020-11-21%2B20-35-52.png" width="149" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;I want the data, which is presented in the networking tab:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-EjJ2DUa1OLE/X7lth-R-boI/AAAAAAAA2sw/7VS6vV3DfWU8AObcs762xQb-XllmNcpTwCLcBGAsYHQ/s965/Screenshot%2Bfrom%2B2020-11-21%2B20-37-00.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="621" data-original-width="965" height="257" src="https://1.bp.blogspot.com/-EjJ2DUa1OLE/X7lth-R-boI/AAAAAAAA2sw/7VS6vV3DfWU8AObcs762xQb-XllmNcpTwCLcBGAsYHQ/w400-h257/Screenshot%2Bfrom%2B2020-11-21%2B20-37-00.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;If i trace the networking with the developer tools, i the the following:&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-8PRabMBKm-k/X7luds7SDFI/AAAAAAAA2s8/VMLChizJSMgE7JGvD49lmXGHE3hvlVjpwCLcBGAsYHQ/s920/Screenshot%2Bfrom%2B2020-11-21%2B20-43-53.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="780" data-original-width="920" height="542" src="https://1.bp.blogspot.com/-8PRabMBKm-k/X7luds7SDFI/AAAAAAAA2s8/VMLChizJSMgE7JGvD49lmXGHE3hvlVjpwCLcBGAsYHQ/w640-h542/Screenshot%2Bfrom%2B2020-11-21%2B20-43-53.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;To reproduce this on my command line, i have to enter this into my bash:&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;pre style="background: black none repeat scroll 0% 0%; color: silver;"&gt;&lt;span style="font-size: x-small;"&gt;curl 'http://fritz.box/data.lua' &lt;br /&gt;-H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:82.0) Gecko/20100101 Firefox/82.0' &lt;br /&gt;-H 'Accept: */*' &lt;br /&gt;-H 'Accept-Language: de,en;q=0.7,en-US;q=0.3' --compressed &lt;br /&gt;-H 'Content-Type: application/x-www-form-urlencoded' &lt;br /&gt;-H 'Origin: http://fritz.box' -H 'Connection: keep-alive' &lt;br /&gt;-H 'Referer: http://fritz.box/' -H 'Pragma: no-cache' &lt;br /&gt;-H 'Cache-Control: no-cache' &lt;br /&gt;--data-raw 'xhr=1&amp;amp;sid=cb......SID&amp;amp;lang=de&amp;amp;page=netDev&amp;amp;xhrId=cleanup&amp;amp;useajax=1&amp;amp;no_sidrenew='&lt;/span&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;p&gt;(you have to add the line breaks and the SID in the last line).&lt;/p&gt;&lt;p&gt;Then you will get a JSON object beginning with these lines:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;span style="font-family: courier;"&gt;{&lt;br /&gt;&amp;nbsp; "pid": "netDev",&lt;br /&gt;&amp;nbsp; "hide": {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "ssoEmail": true,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "shareUsb": true,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "liveTv": true,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "faxSet": true,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dectMoniEx": true,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "rss": true,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "mobile": true,&lt;/span&gt;&lt;/blockquote&gt;and all the other information.&lt;p&gt;&lt;/p&gt;&lt;p&gt;The problem: How to get this SID?&lt;/p&gt;&lt;p&gt;If you trace the login, it is not so easy, that the password is just send to the Fritz.Box. They use &lt;a href="https://en.wikipedia.org/wiki/PBKDF2"&gt;PBDFK2&lt;/a&gt; to encrypt the password and then send it to the Fritz.Box.&lt;/p&gt;&lt;p&gt;You can find some information about that here:&lt;/p&gt;&lt;p&gt;&lt;a href="https://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/AVM%20Technical%20Note%20-%20Session%20ID_EN%20-%20Nov2020.pdf"&gt;https://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/AVM%20Technical%20Note%20-%20Session%20ID_EN%20-%20Nov2020.pdf&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/--C_0o7jI0-w/X7lxIf-myoI/AAAAAAAA2tI/_7rCVVCRWU8uZHEsj7QaSKBjojCz1tHGQCLcBGAsYHQ/s1477/Screenshot%2Bfrom%2B2020-11-21%2B20-56-25.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="858" data-original-width="1477" height="372" src="https://1.bp.blogspot.com/--C_0o7jI0-w/X7lxIf-myoI/AAAAAAAA2tI/_7rCVVCRWU8uZHEsj7QaSKBjojCz1tHGQCLcBGAsYHQ/w640-h372/Screenshot%2Bfrom%2B2020-11-21%2B20-56-25.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Inside this document a PHP program is stated, which does the login (not really - i think it does the job years ago - but now it does a fallback to md5 authentication. I fixed this, just post a comment, if you want this pbkdf2 enabled php script). I wrote a small javascript, which i execute with node and after that i was able to log the data into my influxdb and build a show it inside grafana:&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-5WY7_XKpraM/X7l6FXTSwuI/AAAAAAAA2tU/shODlP23C2ASllu0I_ug_Lip0fWALqDZgCLcBGAsYHQ/s1463/Screenshot%2Bfrom%2B2020-11-21%2B21-35-13.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="418" data-original-width="1463" height="182" src="https://1.bp.blogspot.com/-5WY7_XKpraM/X7l6FXTSwuI/AAAAAAAA2tU/shODlP23C2ASllu0I_ug_Lip0fWALqDZgCLcBGAsYHQ/w640-h182/Screenshot%2Bfrom%2B2020-11-21%2B21-35-13.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;If you are interested in the configuration, the js script and the collect commands, then post me a comment...&lt;br /&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/idXZd/~4/yjMXFOeGCt4" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dietrichschroff.blogspot.com/feeds/7417601416435961736/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://dietrichschroff.blogspot.com/2020/12/avm-fritzbox-how-to-do-automatic-login.html#comment-form" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/7417601416435961736" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/7417601416435961736" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/idXZd/~3/yjMXFOeGCt4/avm-fritzbox-how-to-do-automatic-login.html" title="AVM Fritz.Box: how to do an automatic login and get the active WLAN devices" /><author><name>Dietrich Schroff</name><uri>http://www.blogger.com/profile/18397485256708620180</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dietrichschroff.blogspot.com/2020/12/avm-fritzbox-how-to-do-automatic-login.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5146606961939082932.post-8056097779769563671</id><published>2020-12-02T20:39:00.002+01:00</published><updated>2020-12-02T20:43:32.250+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Docker" /><category scheme="http://www.blogger.com/atom/ns#" term="Kubernetes" /><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><title type="text">Kubernetes: Rights &amp; Roles with kubectl and RBAC - How to restrict kubectl for a user to a namespace</title><content type="html">&lt;p&gt;&lt;a href="http://dietrichschroff.blogspot.com/2020/11/kubernetes-with-microk8s-first-steps-to.html"&gt;Playing around with my MicroK8S&lt;/a&gt; i was thinking about restricting access to the default namespace. Why?&lt;/p&gt;&lt;p&gt;Every command adds something and so your default namespace gets polluted more and more and cleaning up might be a lot of work.&lt;/p&gt;&lt;p&gt;But:&lt;/p&gt;&lt;p&gt;There is neither a HOWTO nor some quickstart into this. Everything you can find is:&lt;/p&gt;&lt;p&gt;&lt;a href="https://kubernetes.io/docs/reference/access-authn-authz/rbac/"&gt;https://kubernetes.io/docs/reference/access-authn-authz/rbac/&lt;/a&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-7xH7eCsaABg/X8frLjyL9eI/AAAAAAAA274/gkraNfmmKVMsgDT3Ai83_ZFQwnG6xgIBwCLcBGAsYHQ/s881/Screenshot%2Bfrom%2B2020-12-02%2B20-29-28.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="324" data-original-width="881" height="148" src="https://1.bp.blogspot.com/-7xH7eCsaABg/X8frLjyL9eI/AAAAAAAA274/gkraNfmmKVMsgDT3Ai83_ZFQwnG6xgIBwCLcBGAsYHQ/w400-h148/Screenshot%2Bfrom%2B2020-12-02%2B20-29-28.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;But after this very detailed article you know a lot of things, but for restricting the kubectl you are as smart as before.&lt;/p&gt;&lt;p&gt;One thing i learned in this article:&lt;/p&gt;&lt;p&gt;You do not have to use these YAML files - everything can be done with commands and their options (i do not like YAML, so this was a very important understanding for me).&lt;/p&gt;&lt;p&gt;At the end it is very easy:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;pre style="background: black none repeat scroll 0% 0%; color: silver;"&gt;export K8S_USER="ateamuser"&lt;br /&gt;export NAMESPACE="ateam"&lt;br /&gt;export BINDING="ateambinding"&lt;br /&gt;export ROLE="ateamrole"&lt;br /&gt;kubectl create namespace $NAMESPACE &lt;br /&gt;kubectl label namespaces $NAMESPACE team=a&lt;br /&gt;kubectl create clusterrole ateamrole&amp;nbsp; --verb="*"&amp;nbsp; --resource="*.*" &lt;br /&gt;kubectl create rolebinding $BINDING --clusterrole=$ROLE --user=$K8S_USER -n $NAMESPACE&lt;br /&gt;kubectl create serviceaccount $K8S_USER -n $NAMESPACE&lt;br /&gt;kubectl describe sa $K8S_USER -n $NAMESPACE&lt;/pre&gt;&lt;/blockquote&gt;and just test it with:&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;pre style="background: black none repeat scroll 0% 0%; color: silver;"&gt;root@zigbee:/home/ubuntu/kubernetes# kubectl get pods -n ateam&amp;nbsp; --as=ateamuser&lt;br /&gt;NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; READY&amp;nbsp;&amp;nbsp; STATUS&amp;nbsp;&amp;nbsp;&amp;nbsp; RESTARTS&amp;nbsp;&amp;nbsp; AGE&lt;br /&gt;web-96d5df5c8-cc9jv&amp;nbsp;&amp;nbsp; 1/1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Running&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 14m&lt;br /&gt;root@zigbee:/home/ubuntu/kubernetes# kubectl get pods -n default&amp;nbsp; --as=ateamuser&lt;br /&gt;Error from server (Forbidden): pods is forbidden: User "ateamuser" cannot list resource "pods" in API group "" in the namespace "default"&lt;/pre&gt;&lt;/blockquote&gt;So there is not a big script needed - but building these commands was really a hard job...&lt;p&gt;&lt;/p&gt;&lt;p&gt;If you want to know, how to restrict the kubectl on a remote computer, please write a comment.&amp;nbsp;&lt;/p&gt;&lt;p&gt;One last remark: In microK8s you enable RBAC with the command&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;b&gt;&lt;span style="font-family: courier;"&gt;microk8s.enable rbac &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Check this with&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span style="font-family: courier;"&gt;microk8s.status &lt;br /&gt;microk8s is running&lt;br /&gt;high-availability: no&lt;br /&gt;&amp;nbsp; datastore master nodes: 192.168.178.57:19001&lt;br /&gt;&amp;nbsp; datastore standby nodes: none&lt;br /&gt;addons:&lt;br /&gt;&lt;b&gt;&amp;nbsp; enabled:&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; dashboard&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # The Kubernetes dashboard&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; dns&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # CoreDNS&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ha-cluster&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Configure high availability on the current node&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ingress&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Ingress controller for external access&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; metrics-server&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # K8s Metrics Server for API access to service metrics&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;rbac&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Role-Based Access Control for authorisation&lt;/b&gt;&lt;br /&gt;&amp;nbsp; disabled:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; helm&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Helm 2 - the package manager for Kubernetes&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; helm3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Helm 3 - Kubernetes package manager&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; host-access&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Allow Pods connecting to Host services smoothly&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; linkerd&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Linkerd is a service mesh for Kubernetes and other frameworks&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; metallb&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Loadbalancer for your Kubernetes cluster&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; registry&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Private image registry exposed on localhost:32000&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; storage&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Storage class; allocates storage from host directory&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-CBQDpHn-e7k/X8fuXBzl3OI/AAAAAAAA28E/UuHRUOPxMpEiAVhTlymA3J4qilPkrH17gCLcBGAsYHQ/s624/Screenshot%2Bfrom%2B2020-11-25%2B19-53-34.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="311" data-original-width="624" src="https://1.bp.blogspot.com/-CBQDpHn-e7k/X8fuXBzl3OI/AAAAAAAA28E/UuHRUOPxMpEiAVhTlymA3J4qilPkrH17gCLcBGAsYHQ/s320/Screenshot%2Bfrom%2B2020-11-25%2B19-53-34.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/idXZd/~4/rSNNqJ0YW80" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dietrichschroff.blogspot.com/feeds/8056097779769563671/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://dietrichschroff.blogspot.com/2020/12/kubernetes-rights-roles-with-kubectl.html#comment-form" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/8056097779769563671" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/8056097779769563671" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/idXZd/~3/rSNNqJ0YW80/kubernetes-rights-roles-with-kubectl.html" title="Kubernetes: Rights &amp; Roles with kubectl and RBAC - How to restrict kubectl for a user to a namespace" /><author><name>Dietrich Schroff</name><uri>http://www.blogger.com/profile/18397485256708620180</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-CBQDpHn-e7k/X8fuXBzl3OI/AAAAAAAA28E/UuHRUOPxMpEiAVhTlymA3J4qilPkrH17gCLcBGAsYHQ/s72-c/Screenshot%2Bfrom%2B2020-11-25%2B19-53-34.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dietrichschroff.blogspot.com/2020/12/kubernetes-rights-roles-with-kubectl.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5146606961939082932.post-2523411897198851568</id><published>2020-11-27T22:02:00.000+01:00</published><updated>2020-11-27T22:02:07.836+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Docker" /><category scheme="http://www.blogger.com/atom/ns#" term="Kubernetes" /><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><title type="text">Kubernetes with microK8s: First steps to expose a service to external</title><content type="html">&lt;p&gt;At home i wanted to have my own kubernetes cluster. I own 2 raspberry pi based on ubuntu, so i decided to install microK8s:&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-iSPcwrWBtrA/X76o74gK15I/AAAAAAAA2wE/Wq_1fu74008jF17cm4c74L4gfs3kXX9UACLcBGAsYHQ/s624/Screenshot%2Bfrom%2B2020-11-25%2B19-53-34.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="311" data-original-width="624" src="https://1.bp.blogspot.com/-iSPcwrWBtrA/X76o74gK15I/AAAAAAAA2wE/Wq_1fu74008jF17cm4c74L4gfs3kXX9UACLcBGAsYHQ/s320/Screenshot%2Bfrom%2B2020-11-25%2B19-53-34.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;--&amp;gt; &lt;a href="https://ubuntu.com/blog/what-can-you-do-with-microk8s"&gt;https://ubuntu.com/blog/what-can-you-do-with-microk8s&lt;/a&gt;&lt;/p&gt;&lt;p&gt;The installation is very well explained here:&lt;/p&gt;&lt;p&gt;&lt;a href="https://ubuntu.com/tutorials/install-a-local-kubernetes-with-microk8s#1-overview"&gt;https://ubuntu.com/tutorials/install-a-local-kubernetes-with-microk8s#1-overview&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;BUT: i found nowhere a tutorial how to run an container and expose the port in a way that i is reachable from other pc like localhost.&lt;/p&gt;&lt;p&gt;So here we go:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;pre style="background: black none repeat scroll 0% 0%; color: silver;"&gt;kubectl create deployment web --image=nginx&lt;br /&gt;kubectl expose deployment web --type=NodePort --port=80&lt;/pre&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;After that just do:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;pre style="background: black none repeat scroll 0% 0%; color: silver;"&gt;# kubectl get all&lt;br /&gt;NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; READY&amp;nbsp;&amp;nbsp; STATUS&amp;nbsp;&amp;nbsp;&amp;nbsp; RESTARTS&amp;nbsp;&amp;nbsp; AGE&lt;br /&gt;pod/web-96d5df5c8-5xvfc&amp;nbsp;&amp;nbsp; 1/1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Running&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 112s&lt;br /&gt;&lt;br /&gt;NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TYPE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CLUSTER-IP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EXTERNAL-IP&amp;nbsp;&amp;nbsp; PORT(S)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AGE&lt;br /&gt;service/kubernetes&amp;nbsp;&amp;nbsp; ClusterIP&amp;nbsp;&amp;nbsp; 10.152.183.1&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;none&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 443/TCP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2d5h&lt;br /&gt;service/web&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NodePort&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.152.183.66&amp;nbsp;&amp;nbsp; &amp;lt;none&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 80:32665/TCP&amp;nbsp;&amp;nbsp; 105s&lt;br /&gt;&lt;br /&gt;NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; READY&amp;nbsp;&amp;nbsp; UP-TO-DATE&amp;nbsp;&amp;nbsp; AVAILABLE&amp;nbsp;&amp;nbsp; AGE&lt;br /&gt;deployment.apps/web&amp;nbsp;&amp;nbsp; 1/1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 112s&lt;br /&gt;&lt;br /&gt;NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DESIRED&amp;nbsp;&amp;nbsp; CURRENT&amp;nbsp;&amp;nbsp; READY&amp;nbsp;&amp;nbsp; AGE&lt;br /&gt;replicaset.apps/web-96d5df5c8&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 112s&lt;/pre&gt;&lt;/blockquote&gt;&lt;p&gt;On you kubernetes node you can reach the service with 10.152.183.66:80.&lt;/p&gt;&lt;p&gt;For getting the nginx from another pc just use:&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: courier;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span style="font-family: courier;"&gt;&amp;lt;yourkuberneteshost&amp;gt;:32665&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: courier;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;For me:&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-4rc-_Nktn5k/X76rH5BgRSI/AAAAAAAA2wQ/zyEfWMfkQuUv7BJRnARvGjQ7I6dUNPV9gCLcBGAsYHQ/s638/Screenshot%2Bfrom%2B2020-11-25%2B20-05-40.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="296" data-original-width="638" height="185" src="https://1.bp.blogspot.com/-4rc-_Nktn5k/X76rH5BgRSI/AAAAAAAA2wQ/zyEfWMfkQuUv7BJRnARvGjQ7I6dUNPV9gCLcBGAsYHQ/w400-h185/Screenshot%2Bfrom%2B2020-11-25%2B20-05-40.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/idXZd/~4/odGgcScEzNo" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dietrichschroff.blogspot.com/feeds/2523411897198851568/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://dietrichschroff.blogspot.com/2020/11/kubernetes-with-microk8s-first-steps-to.html#comment-form" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/2523411897198851568" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/2523411897198851568" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/idXZd/~3/odGgcScEzNo/kubernetes-with-microk8s-first-steps-to.html" title="Kubernetes with microK8s: First steps to expose a service to external" /><author><name>Dietrich Schroff</name><uri>http://www.blogger.com/profile/18397485256708620180</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-iSPcwrWBtrA/X76o74gK15I/AAAAAAAA2wE/Wq_1fu74008jF17cm4c74L4gfs3kXX9UACLcBGAsYHQ/s72-c/Screenshot%2Bfrom%2B2020-11-25%2B19-53-34.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dietrichschroff.blogspot.com/2020/11/kubernetes-with-microk8s-first-steps-to.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5146606961939082932.post-3646152657170837681</id><published>2020-11-20T22:56:00.007+01:00</published><updated>2020-11-28T12:36:32.825+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Database" /><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><category scheme="http://www.blogger.com/atom/ns#" term="ZigBee" /><title type="text">ZigBee@Linux: Getting Data from ZigBee Devices via MQTT to InfluxDB and Grafana</title><content type="html">&lt;p&gt;Getting sensors with zigbee integrated with my linux raspberry pi, i did some monitoring tasks on my raspberry pi.&lt;/p&gt;&lt;ol style="text-align: left;"&gt;&lt;li&gt;Monitoring my raspberry pi:&lt;br /&gt;There is a very nice tutorial:&lt;br /&gt;&lt;a href="https://medium.com/@andreea.sonda31/monitor-raspberry-pi-resources-and-parameters-with-grafana-board-part-1-ab0567303e8"&gt;https://medium.com/@andreea.sonda31/monitor-raspberry-pi-resources-and-parameters-with-grafana-board-part-1-ab0567303e8&lt;/a&gt;&lt;br /&gt;Or even better: Just use this from grafana:&lt;br /&gt;&lt;a href="https://grafana.com/grafana/dashboards/10578"&gt;https://grafana.com/grafana/dashboards/10578&lt;/a&gt;&lt;/li&gt;&lt;ol&gt;&lt;li&gt;add &lt;span style="font-family: courier;"&gt;deb https://packages.grafana.com/oss/deb stable main&lt;/span&gt; to a file in /etc/apt/sources.list.d/&lt;br /&gt;&lt;/li&gt;&lt;li&gt;apt install grafana telegraf influxdb&lt;br /&gt;&lt;/li&gt;&lt;li&gt;configure telegraf for your influxdb&lt;/li&gt;&lt;li&gt;import the json from the grafana.com-link above&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-O7sbphBXp1Y/X6-PrWjAMgI/AAAAAAAA2mk/QgtTKp8jotk0XeIY0Wb-cNe3CThplv2dgCLcBGAsYHQ/s934/Screenshot%2Bfrom%2B2020-11-14%2B09-04-40.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="713" data-original-width="934" src="https://1.bp.blogspot.com/-O7sbphBXp1Y/X6-PrWjAMgI/AAAAAAAA2mk/QgtTKp8jotk0XeIY0Wb-cNe3CThplv2dgCLcBGAsYHQ/s320/Screenshot%2Bfrom%2B2020-11-14%2B09-04-40.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;Monitoring my Fritz.Box with Grafana:&lt;br /&gt;&lt;a href="https://grafana.com/grafana/dashboards/713"&gt;https://grafana.com/grafana/dashboards/713&lt;/a&gt;&amp;nbsp; &lt;br /&gt;and follow the given tutorial &lt;a href="https://fetzerch.github.io/2014/08/23/fritzcollectd/"&gt;https://fetzerch.github.io/2014/08/23/fritzcollectd/&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;After these steps i have the following infrastructures running:&lt;br /&gt;&lt;div&gt;&lt;ol style="text-align: left;"&gt;&lt;li&gt;zigbee2mqtt --&amp;gt; MQTT --&amp;gt;FHEM &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-Dy5JwZn2rdw/X6-U-j7CJNI/AAAAAAAA2nI/149bM8eNs-EnwsHoJNjEl8HHfO95-ru1gCLcBGAsYHQ/s829/Screenshot%2Bfrom%2B2020-11-08%2B11-26-13.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="585" data-original-width="829" height="141" src="https://1.bp.blogspot.com/-Dy5JwZn2rdw/X6-U-j7CJNI/AAAAAAAA2nI/149bM8eNs-EnwsHoJNjEl8HHfO95-ru1gCLcBGAsYHQ/w200-h141/Screenshot%2Bfrom%2B2020-11-08%2B11-26-13.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Fritz.box --&amp;gt; collectd --&amp;gt; InfluxDB --&amp;gt; Grafana&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;raspberry --&amp;gt; telegraf --&amp;gt; InfluxDB --&amp;gt; Grafana &lt;br /&gt; &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-iqYuf8zkqJI/X6-VGKDvE8I/AAAAAAAA2nQ/qW855VUVewc_ua3FTAH22sKLcZXAWU0kACLcBGAsYHQ/s934/Screenshot%2Bfrom%2B2020-11-14%2B09-04-40.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="713" data-original-width="934" height="153" src="https://1.bp.blogspot.com/-iqYuf8zkqJI/X6-VGKDvE8I/AAAAAAAA2nQ/qW855VUVewc_ua3FTAH22sKLcZXAWU0kACLcBGAsYHQ/w200-h153/Screenshot%2Bfrom%2B2020-11-14%2B09-04-40.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;For&amp;nbsp; 2 and 3 it is very easy to create graphics and the presentation looks little bit prettier than 1 (imho).&amp;nbsp;&lt;/p&gt;&lt;p&gt;AND there is only one frontend to configure. So what about the following chain for my zigbee sensors:&lt;/p&gt;&lt;ol style="text-align: left;"&gt;&lt;li&gt;zigbee2mqtt --&amp;gt; MQTT --&amp;gt;telegraf --&amp;gt; InfluxDB --&amp;gt; Grafana&amp;nbsp;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Looks like some more steps, but the telegraf --&amp;gt; InfluxDB --&amp;gt; Grafana chain is already there for monitoring my raspberry pi.&lt;/p&gt;&lt;p&gt;So i only had to add the following on /etc/telegraf/telegraf.conf:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;[[inputs.mqtt_consumer]]&lt;br /&gt;&amp;nbsp;&amp;nbsp; servers = ["tcp://127.0.0.1:1883"]&lt;br /&gt;&amp;nbsp;&amp;nbsp; topics = [&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "zigbee2mqtt/0x00158d000542239e",&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "zigbee2mqtt/0x00158d00044a6378",&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "zigbee2mqtt/0x00158d0003f0faad",&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "zigbee2mqtt/0x00158d00044a72a2",&lt;br /&gt;&amp;nbsp;&amp;nbsp; data_format = "json"&lt;br /&gt;&lt;/blockquote&gt;&lt;p&gt;And after that i was able to use the data in Grafana:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-HtDF7epd6cg/X6-Rl_Kh_nI/AAAAAAAA2mw/5yBnJ_mW4hYI8W7zK9YXnpK3C5taLIEAQCLcBGAsYHQ/s901/Screenshot%2Bfrom%2B2020-11-14%2B09-12-44.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="533" data-original-width="901" height="378" src="https://1.bp.blogspot.com/-HtDF7epd6cg/X6-Rl_Kh_nI/AAAAAAAA2mw/5yBnJ_mW4hYI8W7zK9YXnpK3C5taLIEAQCLcBGAsYHQ/w640-h378/Screenshot%2Bfrom%2B2020-11-14%2B09-12-44.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/idXZd/~4/ClNg9dkbJSM" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dietrichschroff.blogspot.com/feeds/3646152657170837681/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://dietrichschroff.blogspot.com/2020/11/zigbeelinux-getting-data-from-zigbee.html#comment-form" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/3646152657170837681" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/3646152657170837681" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/idXZd/~3/ClNg9dkbJSM/zigbeelinux-getting-data-from-zigbee.html" title="ZigBee@Linux: Getting Data from ZigBee Devices via MQTT to InfluxDB and Grafana" /><author><name>Dietrich Schroff</name><uri>http://www.blogger.com/profile/18397485256708620180</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-O7sbphBXp1Y/X6-PrWjAMgI/AAAAAAAA2mk/QgtTKp8jotk0XeIY0Wb-cNe3CThplv2dgCLcBGAsYHQ/s72-c/Screenshot%2Bfrom%2B2020-11-14%2B09-04-40.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dietrichschroff.blogspot.com/2020/11/zigbeelinux-getting-data-from-zigbee.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5146606961939082932.post-5705118681861690161</id><published>2020-11-15T16:58:00.001+01:00</published><updated>2020-11-15T16:58:00.334+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><category scheme="http://www.blogger.com/atom/ns#" term="ZigBee" /><title type="text">ZigBee@Linux: Securing zigbee2mqtt &amp; MQTT@FHEM &amp; FHEM</title><content type="html">&lt;p&gt;&lt;a href="https://dietrichschroff.blogspot.com/2020/11/zigbeelinux-integration-of-zigbee2mqtt.html" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-2xJy1Fo_0ik/X6-Uyi8jdpI/AAAAAAAA2nE/tg26YIj87JsNAiNV8zhxeF1dBDxBBybcQCLcBGAsYHQ/s352/Screenshot%2Bfrom%2B2020-11-08%2B10-49-37.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="143" data-original-width="352" src="https://1.bp.blogspot.com/-2xJy1Fo_0ik/X6-Uyi8jdpI/AAAAAAAA2nE/tg26YIj87JsNAiNV8zhxeF1dBDxBBybcQCLcBGAsYHQ/s320/Screenshot%2Bfrom%2B2020-11-08%2B10-49-37.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;After my setup is running, just some words about securing the whole setup. &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;The web gui of FHEM was already setup with SSL/HTTPS but the MQTT server is listening for all ips.&lt;/p&gt;&lt;p&gt;The easiest way to get this secure is change the listener to localhost, so that no connections from outside can be made. Just change in /opt/fhem/fhem.cfg: &lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;define MQTT2_FHEM_Server MQTT2_SERVER 1883 127.0.0.1&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;Just a checklist, if we secured everything:&lt;ul style="text-align: left;"&gt;&lt;li&gt;FHEM&lt;/li&gt;&lt;ul&gt;&lt;li&gt;WebGUI: &lt;a href="http://dietrichschroff.blogspot.com/2020/11/zigbeelinux-infrastructure-setup.html" target="_blank"&gt;shown here&lt;/a&gt;&lt;/li&gt;&lt;li&gt;MQTT: s. above&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;zigbee2mqtt&lt;/li&gt;&lt;ul&gt;&lt;li&gt;add &lt;span style="font-family: courier;"&gt;permit_join: false&lt;/span&gt; to configuration.yaml&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/idXZd/~4/UhUfsgM3-XM" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dietrichschroff.blogspot.com/feeds/5705118681861690161/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://dietrichschroff.blogspot.com/2020/11/zigbeelinux-securing-zigbee2mqtt.html#comment-form" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/5705118681861690161" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/5705118681861690161" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/idXZd/~3/UhUfsgM3-XM/zigbeelinux-securing-zigbee2mqtt.html" title="ZigBee@Linux: Securing zigbee2mqtt &amp; MQTT@FHEM &amp; FHEM" /><author><name>Dietrich Schroff</name><uri>http://www.blogger.com/profile/18397485256708620180</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-2xJy1Fo_0ik/X6-Uyi8jdpI/AAAAAAAA2nE/tg26YIj87JsNAiNV8zhxeF1dBDxBBybcQCLcBGAsYHQ/s72-c/Screenshot%2Bfrom%2B2020-11-08%2B10-49-37.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dietrichschroff.blogspot.com/2020/11/zigbeelinux-securing-zigbee2mqtt.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5146606961939082932.post-5282245801054323269</id><published>2020-11-14T23:03:00.000+01:00</published><updated>2020-11-14T23:03:02.167+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><category scheme="http://www.blogger.com/atom/ns#" term="ZigBee" /><title type="text">ZigBee@Linux: Integration of zigbee2mqtt with FHEM (mqtt server) on ubuntu server</title><content type="html">&lt;p&gt;After the setup of &lt;a href="https://dietrichschroff.blogspot.com/2020/11/zigbeelinux-infrastructure-setup.html" target="_blank"&gt;FHEM and zigbee2mqtt&lt;/a&gt; the integration of both components has to be done.&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-x2g7SPENGKI/X6fD_caJQNI/AAAAAAAA2jA/QTFZJN_5kIYZ5iFr_OhkBoUrhL19eL4pQCLcBGAsYHQ/s352/Screenshot%2Bfrom%2B2020-11-08%2B10-49-37.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="143" data-original-width="352" src="https://1.bp.blogspot.com/-x2g7SPENGKI/X6fD_caJQNI/AAAAAAAA2jA/QTFZJN_5kIYZ5iFr_OhkBoUrhL19eL4pQCLcBGAsYHQ/s320/Screenshot%2Bfrom%2B2020-11-08%2B10-49-37.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;What has to be done?&lt;/p&gt;&lt;p&gt;After reading the &lt;a href="https://wiki.fhem.de/wiki/ZigBee" target="_blank"&gt;excellent documentation of FHEM&lt;/a&gt; it is very easy - FHEM can be configured, so that it is providing a mqtt server.&amp;nbsp;&lt;/p&gt;&lt;p&gt;First you have to add the following line in /opt/zigbee2mqtt/data/configuration.yaml inside the "mqtt:" section:&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; client_id: 'zigbee_pi'&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Then go to the command prompt of the FHEM webgui and enter the following:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;span style="font-family: courier;"&gt;define MQTT2_FHEM_Server MQTT2_SERVER 1883 global&lt;br /&gt;defmod MQTT2_zigbee_pi MQTT2_DEVICE zigbee_pi&lt;br /&gt;attr MQTT2_zigbee_pi IODev MQTT2_FHEM_Server&lt;br /&gt;attr MQTT2_zigbee_pi bridgeRegexp zigbee2mqtt/([A-Za-z0-9]*)[/]?.*:.* "zigbee_$1"&lt;/span&gt;&lt;/blockquote&gt;After that you should see something like this:&lt;p&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-ugRAOjtF-ig/X6fGVxfP5sI/AAAAAAAA2jQ/t5cIFtXtu8IGa6IErYgzfpgoQ24vMY6kACLcBGAsYHQ/s688/Screenshot%2Bfrom%2B2020-11-08%2B11-19-17.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="217" data-original-width="688" height="126" src="https://1.bp.blogspot.com/-ugRAOjtF-ig/X6fGVxfP5sI/AAAAAAAA2jQ/t5cIFtXtu8IGa6IErYgzfpgoQ24vMY6kACLcBGAsYHQ/w400-h126/Screenshot%2Bfrom%2B2020-11-08%2B11-19-17.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;(you can change the style of the page via "select style" on the left column)&lt;/p&gt;&lt;p&gt;Then you should save:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-xiRictU8gok/X6fHB08rZqI/AAAAAAAA2jc/SPZR7CIB-J4T4OQNBH1t9Bube-mH_xpwwCLcBGAsYHQ/s208/Screenshot%2Bfrom%2B2020-11-08%2B11-21-00.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="208" data-original-width="168" height="113" src="https://1.bp.blogspot.com/-xiRictU8gok/X6fHB08rZqI/AAAAAAAA2jc/SPZR7CIB-J4T4OQNBH1t9Bube-mH_xpwwCLcBGAsYHQ/w91-h113/Screenshot%2Bfrom%2B2020-11-08%2B11-21-00.png" width="91" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;To create a graph just click on the file which is created for your zigbee device:&lt;/p&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-luIFwWmdejY/X6fHByTj-bI/AAAAAAAA2jg/Z-BafZFpCE8vcu9QrRs2-uDIQZlBW5FTQCLcBGAsYHQ/s698/Screenshot%2Bfrom%2B2020-11-08%2B11-21-51.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="210" data-original-width="698" height="192" src="https://1.bp.blogspot.com/-luIFwWmdejY/X6fHByTj-bI/AAAAAAAA2jg/Z-BafZFpCE8vcu9QrRs2-uDIQZlBW5FTQCLcBGAsYHQ/w640-h192/Screenshot%2Bfrom%2B2020-11-08%2B11-21-51.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;and then there should be something like:&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-8E605xeXWjc/X6fHdUs3WdI/AAAAAAAA2js/8Oo3UgpkunUf_lThnJwAuS7urMq0w-OQQCLcBGAsYHQ/s388/Screenshot%2Bfrom%2B2020-11-08%2B11-23-56.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="172" data-original-width="388" src="https://1.bp.blogspot.com/-8E605xeXWjc/X6fHdUs3WdI/AAAAAAAA2js/8Oo3UgpkunUf_lThnJwAuS7urMq0w-OQQCLcBGAsYHQ/s320/Screenshot%2Bfrom%2B2020-11-08%2B11-23-56.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Here you can click on "Create SVG plot" and on:&lt;br /&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-poXT72WSNZ0/X6fHdXoHiuI/AAAAAAAA2jw/r1bIG_zl0JMursRMmU2qNEtbtpBRxKZvwCLcBGAsYHQ/s870/Screenshot%2Bfrom%2B2020-11-08%2B11-24-28.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="776" data-original-width="870" src="https://1.bp.blogspot.com/-poXT72WSNZ0/X6fHdXoHiuI/AAAAAAAA2jw/r1bIG_zl0JMursRMmU2qNEtbtpBRxKZvwCLcBGAsYHQ/s320/Screenshot%2Bfrom%2B2020-11-08%2B11-24-28.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;click on "write .gplot file" and your first graph is there... Repeat this and you can get:&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-C_cq8muLWWQ/X6fH3R6KyXI/AAAAAAAA2j8/RykGMiooQes7fbRjW4Y2Ztbk1fhsgQt5QCLcBGAsYHQ/s829/Screenshot%2Bfrom%2B2020-11-08%2B11-26-13.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="585" data-original-width="829" height="453" src="https://1.bp.blogspot.com/-C_cq8muLWWQ/X6fH3R6KyXI/AAAAAAAA2j8/RykGMiooQes7fbRjW4Y2Ztbk1fhsgQt5QCLcBGAsYHQ/w640-h453/Screenshot%2Bfrom%2B2020-11-08%2B11-26-13.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/idXZd/~4/ptnY_ZjyyHs" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dietrichschroff.blogspot.com/feeds/5282245801054323269/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://dietrichschroff.blogspot.com/2020/11/zigbeelinux-integration-of-zigbee2mqtt.html#comment-form" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/5282245801054323269" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/5282245801054323269" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/idXZd/~3/ptnY_ZjyyHs/zigbeelinux-integration-of-zigbee2mqtt.html" title="ZigBee@Linux: Integration of zigbee2mqtt with FHEM (mqtt server) on ubuntu server" /><author><name>Dietrich Schroff</name><uri>http://www.blogger.com/profile/18397485256708620180</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-x2g7SPENGKI/X6fD_caJQNI/AAAAAAAA2jA/QTFZJN_5kIYZ5iFr_OhkBoUrhL19eL4pQCLcBGAsYHQ/s72-c/Screenshot%2Bfrom%2B2020-11-08%2B10-49-37.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dietrichschroff.blogspot.com/2020/11/zigbeelinux-integration-of-zigbee2mqtt.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5146606961939082932.post-72785521233873125</id><published>2020-11-14T08:36:00.000+01:00</published><updated>2020-11-14T08:36:31.228+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ZigBee" /><title type="text">Zigbee@Linux: Infrastructure - Setup</title><content type="html">&lt;div&gt;&lt;p&gt;On my way to home automation with zigbee@linux my decision (as i wrote in &lt;a href="https://dietrichschroff.blogspot.com/2020/11/home-automation-with-linux-how-to-use.html"&gt;this posting&lt;/a&gt;) was&lt;br /&gt;&lt;/p&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Hardware&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Raspberry Pi&lt;/li&gt;&lt;li&gt;usb zigbee stick (&lt;a href="https://dietrichschroff.blogspot.com/2020/11/home-automation-with-linux-how-to-use.html" target="_blank"&gt;conbee II&lt;/a&gt;)&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;OS&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Ubuntu server&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Software&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="https://de.wikipedia.org/wiki/FHEM" target="_blank"&gt;FHEM&lt;/a&gt; (which is the acronym for &lt;b&gt;F&lt;/b&gt;reundliche &lt;b&gt;H&lt;/b&gt;ausautomation und &lt;b&gt;E&lt;/b&gt;nergie-&lt;b&gt;M&lt;/b&gt;essung = &lt;span class="tlid-translation translation" lang="en"&gt;&lt;span title=""&gt;Friendly home automation and energy metering)&lt;br /&gt;This includes the server with MQTT infrastructure &amp;amp; webserver &amp;amp; gui based on perl&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="tlid-translation translation" lang="en"&gt;&lt;span title=""&gt;&lt;a href="https://www.zigbee2mqtt.io/"&gt;zigbee2mqtt&lt;/a&gt; &lt;br /&gt; The server which does the communication with the usb zigbee stick and talking to the MQTT infrastructure based on nodejs&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p&gt;&lt;span class="tlid-translation translation" lang="en"&gt;&lt;span title=""&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-Oh5NPnnllL8/X6e_STtgBJI/AAAAAAAA2iw/To6L7KFD95UkG3n4Q79h7FYfiYv_XnDGQCLcBGAsYHQ/s155/Screenshot%2Bfrom%2B2020-11-08%2B10-49-35.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="143" data-original-width="155" src="https://1.bp.blogspot.com/-Oh5NPnnllL8/X6e_STtgBJI/AAAAAAAA2iw/To6L7KFD95UkG3n4Q79h7FYfiYv_XnDGQCLcBGAsYHQ/s0/Screenshot%2Bfrom%2B2020-11-08%2B10-49-35.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-mOZq4M-wZJs/X6e_Sdny-6I/AAAAAAAA2i0/AqbPiukyQ8MQzz0UH9vLgi3e91pAob2uQCLcBGAsYHQ/s539/Screenshot%2Bfrom%2B2020-11-08%2B10-49-24.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="500" data-original-width="539" height="186" src="https://1.bp.blogspot.com/-mOZq4M-wZJs/X6e_Sdny-6I/AAAAAAAA2i0/AqbPiukyQ8MQzz0UH9vLgi3e91pAob2uQCLcBGAsYHQ/w200-h186/Screenshot%2Bfrom%2B2020-11-08%2B10-49-24.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="tlid-translation translation" lang="en"&gt;&lt;span title=""&gt;The installation of FHEM was quite easy (see &lt;a href="https://dietrichschroff.blogspot.com/2020/11/home-automation-with-linux-how-to-use.html" target="_blank"&gt;here&lt;/a&gt;) and the installation of zigbee2mqtt just worked like described &lt;a href="https://www.zigbee2mqtt.io/getting_started/running_zigbee2mqtt.html"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;ol style="text-align: left;"&gt;&lt;li&gt;&lt;span class="tlid-translation translation" lang="en"&gt;&lt;span title=""&gt;Problem: &lt;br /&gt;FHEM is per default installed without SSL/HTTPS and without user authentication&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="tlid-translation translation" lang="en"&gt;&lt;span title=""&gt;Problem:&lt;br /&gt;The communication between both components has to be setup&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;p&gt;&lt;span class="tlid-translation translation" lang="en"&gt;&lt;span title=""&gt;Here the solution for problem 1:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="tlid-translation translation" lang="en"&gt;&lt;span title=""&gt;Login to your raspberry and type the following commands:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="tlid-translation translation" lang="en"&gt;&lt;span title=""&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;pre style="background: black none repeat scroll 0% 0%; color: silver;"&gt;cd /opt/fhem&lt;br /&gt;chown fhem:dialout certs&lt;br /&gt;cd certs/&lt;br /&gt;openssl req -new -x509 -nodes -out server-cert.pem -days 3650 -keyout server-key.pem &lt;br /&gt;chown fhem:dialout *&lt;br /&gt;apt&amp;nbsp; install libio-socket-ssl-perl&lt;/pre&gt;&lt;/blockquote&gt;After that move the webgui (something like http://yourraspberry:8083) and submit the following commands on the prompt:&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="tlid-translation translation" lang="en"&gt;&lt;span title=""&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;pre style="background: black none repeat scroll 0% 0%; color: silver;"&gt;attr WEB sslVersion TLSv12:!SSLv3&lt;br /&gt;attr WEB HTTPS 1&lt;/pre&gt;&lt;/blockquote&gt;&lt;p&gt;And then open your webfrontend with https://yourraspberry:8083. &lt;br /&gt;&lt;/p&gt;&lt;p&gt;To add a user:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="tlid-translation translation" lang="en"&gt;&lt;span title=""&gt;@bash&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="tlid-translation translation" lang="en"&gt;&lt;span title=""&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;pre style="background: black none repeat scroll 0% 0%; color: silver;"&gt;echo -n fhem:MYPASSWD| base64&lt;/pre&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="tlid-translation translation" lang="en"&gt;&lt;span title=""&gt;@Webfrontend:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="tlid-translation translation" lang="en"&gt;&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;span title=""&gt;&lt;pre style="background: black none repeat scroll 0% 0%; color: silver;"&gt;attr WEB basicAuth BASE64String&lt;/pre&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;p&gt;&amp;nbsp;The second problem will be solved on a future posting. Just wait...&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="tlid-translation translation" lang="en"&gt;&lt;span title=""&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;p&gt;&lt;span class="tlid-translation translation" lang="en"&gt;&lt;span title=""&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/idXZd/~4/5no5JP73Tw4" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dietrichschroff.blogspot.com/feeds/72785521233873125/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://dietrichschroff.blogspot.com/2020/11/zigbeelinux-infrastructure-setup.html#comment-form" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/72785521233873125" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/72785521233873125" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/idXZd/~3/5no5JP73Tw4/zigbeelinux-infrastructure-setup.html" title="Zigbee@Linux: Infrastructure - Setup" /><author><name>Dietrich Schroff</name><uri>http://www.blogger.com/profile/18397485256708620180</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-Oh5NPnnllL8/X6e_STtgBJI/AAAAAAAA2iw/To6L7KFD95UkG3n4Q79h7FYfiYv_XnDGQCLcBGAsYHQ/s72-c/Screenshot%2Bfrom%2B2020-11-08%2B10-49-35.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dietrichschroff.blogspot.com/2020/11/zigbeelinux-infrastructure-setup.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5146606961939082932.post-4599750871886515325</id><published>2020-11-08T20:19:00.003+01:00</published><updated>2020-11-08T20:19:00.560+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><category scheme="http://www.blogger.com/atom/ns#" term="MISC" /><category scheme="http://www.blogger.com/atom/ns#" term="ZigBee" /><title type="text">Home automation with linux: How to use zigbee sensors on an ubuntu raspberry pi...</title><content type="html">&lt;p&gt;To the end of the year i wanted to start a new project: Home automation...&lt;/p&gt;&lt;p&gt;I decided to use a linux system (of course) on a raspberry pi (&lt;a href="http://dietrichschroff.blogspot.com/2020/11/raspberry-pi-installing-os-with-linux.html" target="_blank"&gt;see the OS installation here&lt;/a&gt;) and the zigbee protocol.&lt;/p&gt;&lt;p&gt;The main problem: What packages are needed&amp;nbsp;&lt;/p&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;to get a communication with zigbee components?&lt;/li&gt;&lt;li&gt;to get a website or app to get the data / visualize the data?&lt;/li&gt;&lt;li&gt;to set up a daemon/server which controls the devices?&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Let's start with the third point: I will try &lt;a href="https://wiki.fhem.de/wiki/Hauptseite" target="_blank"&gt;FHEM&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;The installation is described here:&lt;/p&gt;&lt;p&gt;&lt;a href="https://debian.fhem.de/"&gt;https://debian.fhem.de/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;pre style="background: black none repeat scroll 0% 0%; color: silver;"&gt;wget -qO - http://debian.fhem.de/archive.key | apt-key add -&lt;br /&gt;echo "deb http://debian.fhem.de/nightly/ /" &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;apt update&lt;br /&gt;apt upgrade&lt;br /&gt;apt install fhem&lt;/pre&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;After you follow the steps you can check, if FHEM is running with&lt;/p&gt;&lt;blockquote&gt;&lt;pre style="background: black none repeat scroll 0% 0%; color: silver;"&gt;&lt;p&gt;root@zigbee:/home/ubuntu# netstat -ltnup | grep 8083&lt;br /&gt;tcp        0      0 0.0.0.0:8083            0.0.0.0:*               LISTEN      19446/perl   &lt;br /&gt;&lt;/p&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;p&gt;&amp;nbsp;or just connect to your raspberry via browser: http://zigbee:8083&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-qmDo4DfD2LM/X6WntCUyckI/AAAAAAAA2h0/xp3aBu4xaGskouzcm-5_EHALyyJ1RtltACLcBGAsYHQ/s1006/Screenshot%2Bfrom%2B2020-11-06%2B20-37-28.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="345" data-original-width="1006" height="138" src="https://1.bp.blogspot.com/-qmDo4DfD2LM/X6WntCUyckI/AAAAAAAA2h0/xp3aBu4xaGskouzcm-5_EHALyyJ1RtltACLcBGAsYHQ/w400-h138/Screenshot%2Bfrom%2B2020-11-06%2B20-37-28.png" width="400" /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; margin-left: 40px; text-align: left;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; margin-left: 40px; text-align: left;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;and here a screenshot of the goal i want to achieve (maybe with some graphs added): &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-vlDvIaG6Q6A/X6WntN2gzaI/AAAAAAAA2h4/ML32NJzwIEkhLro29BRzyYZqiH__xgcQACLcBGAsYHQ/s639/Screenshot%2Bfrom%2B2020-11-06%2B20-44-25.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="616" data-original-width="639" height="385" src="https://1.bp.blogspot.com/-vlDvIaG6Q6A/X6WntN2gzaI/AAAAAAAA2h4/ML32NJzwIEkhLro29BRzyYZqiH__xgcQACLcBGAsYHQ/w400-h385/Screenshot%2Bfrom%2B2020-11-06%2B20-44-25.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;Here a list of the supported hardware:&lt;/p&gt;&lt;p&gt;&lt;a href="https://wiki.fhem.de/wiki/Kategorie:Hardware"&gt;https://wiki.fhem.de/wiki/Kategorie:Hardware&lt;/a&gt;&lt;/p&gt;&lt;p&gt;and a list of all supported protocols:&lt;/p&gt;&lt;p&gt;&lt;a href="https://wiki.fhem.de/wiki/System%C3%BCbersicht#Protokolle"&gt;https://wiki.fhem.de/wiki/System%C3%BCbersicht#Protokolle&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/idXZd/~4/w42JEkmgkK4" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dietrichschroff.blogspot.com/feeds/4599750871886515325/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://dietrichschroff.blogspot.com/2020/11/home-automation-with-linux-how-to-use.html#comment-form" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/4599750871886515325" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/4599750871886515325" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/idXZd/~3/w42JEkmgkK4/home-automation-with-linux-how-to-use.html" title="Home automation with linux: How to use zigbee sensors on an ubuntu raspberry pi..." /><author><name>Dietrich Schroff</name><uri>http://www.blogger.com/profile/18397485256708620180</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dietrichschroff.blogspot.com/2020/11/home-automation-with-linux-how-to-use.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5146606961939082932.post-1965426517467899933</id><published>2020-11-06T19:55:00.003+01:00</published><updated>2020-11-06T19:55:23.972+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><title type="text">Raspberry PI: Installing OS with a linux pc/laptop (ubuntu)</title><content type="html">&lt;p&gt;&amp;nbsp;If you want to run a raspberry pi and you are wondering how to install the os onto the sd card please try this:&lt;/p&gt;&lt;p&gt;&lt;a href="https://ubuntu.com/tutorials/how-to-install-ubuntu-on-your-raspberry-pi#1-overview"&gt;https://ubuntu.com/tutorials/how-to-install-ubuntu-on-your-raspberry-pi#1-overview&lt;/a&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/--_skhnJgmAk/X6Wa6z3JlfI/AAAAAAAA2hM/0aURcRCN-yIdD4P_veqoZdBET3l44yKFACLcBGAsYHQ/s1137/Screenshot%2Bfrom%2B2020-11-06%2B19-49-55.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="667" data-original-width="1137" height="227" src="https://1.bp.blogspot.com/--_skhnJgmAk/X6Wa6z3JlfI/AAAAAAAA2hM/0aURcRCN-yIdD4P_veqoZdBET3l44yKFACLcBGAsYHQ/w386-h227/Screenshot%2Bfrom%2B2020-11-06%2B19-49-55.png" width="386" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;What is the benefit of this way?&lt;/p&gt;&lt;p&gt;Ubuntu provides on page 2 a package for the rpi-imager:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="https://downloads.raspberrypi.org/imager/imager_amd64.deb" rel="nofollow noopener"&gt;Raspberry Pi Imager for Ubuntu&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://downloads.raspberrypi.org/imager/imager.exe" rel="nofollow noopener"&gt;Raspberry Pi Imager for Windows&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://downloads.raspberrypi.org/imager/imager.dmg" rel="nofollow noopener"&gt;Raspberry Pi Imager for macOS&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;and with this tool (will be started with rpi-imager on the cli), you will get this:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-37tz_2BuaSo/X6Wbc0ujNgI/AAAAAAAA2hc/lvydh0VKXv0zMQ9bdJP2h6ZdhHMnJ_EuwCLcBGAsYHQ/s688/Screenshot%2Bfrom%2B2020-11-06%2B19-51-59.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="454" data-original-width="688" height="264" src="https://1.bp.blogspot.com/-37tz_2BuaSo/X6Wbc0ujNgI/AAAAAAAA2hc/lvydh0VKXv0zMQ9bdJP2h6ZdhHMnJ_EuwCLcBGAsYHQ/w400-h264/Screenshot%2Bfrom%2B2020-11-06%2B19-51-59.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-c76UD_42RGs/X6Wbc-nz5KI/AAAAAAAA2hY/-JR8cABDooIej8klZJL9miwNWn1ecVmMQCLcBGAsYHQ/s587/Screenshot%2Bfrom%2B2020-11-06%2B19-52-15.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="390" data-original-width="587" height="266" src="https://1.bp.blogspot.com/-c76UD_42RGs/X6Wbc-nz5KI/AAAAAAAA2hY/-JR8cABDooIej8klZJL9miwNWn1ecVmMQCLcBGAsYHQ/w400-h266/Screenshot%2Bfrom%2B2020-11-06%2B19-52-15.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&amp;nbsp;As you can see: you can choose of many different OS and the imager will do the download and the installation for you including resizing the partition to the complete sd card...&lt;p&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-NNyuCg1Rp1A/X6Wbw8PazII/AAAAAAAA2ho/6y0CPAWBeWsHGDwHiHVtczooozyKY1KpACLcBGAsYHQ/s593/Screenshot%2Bfrom%2B2020-11-06%2B19-53-41.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="209" data-original-width="593" height="141" src="https://1.bp.blogspot.com/-NNyuCg1Rp1A/X6Wbw8PazII/AAAAAAAA2ho/6y0CPAWBeWsHGDwHiHVtczooozyKY1KpACLcBGAsYHQ/w400-h141/Screenshot%2Bfrom%2B2020-11-06%2B19-53-41.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;And of course you can select your own image (e.g. in *xz format) from your disk...&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;After the installation it will be verified and you can start your raspberry pi... &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-c-WGJn-gZuU/X6WbRdCe6dI/AAAAAAAA2hU/Dv2a0OuOedMVn-b-syc5sGc8H--Bm_HgQCLcBGAsYHQ/s692/Screenshot%2Bfrom%2B2020-11-06%2B19-47-12.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="456" data-original-width="692" height="264" src="https://1.bp.blogspot.com/-c-WGJn-gZuU/X6WbRdCe6dI/AAAAAAAA2hU/Dv2a0OuOedMVn-b-syc5sGc8H--Bm_HgQCLcBGAsYHQ/w400-h264/Screenshot%2Bfrom%2B2020-11-06%2B19-47-12.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/idXZd/~4/gobA5p8sLJI" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dietrichschroff.blogspot.com/feeds/1965426517467899933/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://dietrichschroff.blogspot.com/2020/11/raspberry-pi-installing-os-with-linux.html#comment-form" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/1965426517467899933" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/1965426517467899933" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/idXZd/~3/gobA5p8sLJI/raspberry-pi-installing-os-with-linux.html" title="Raspberry PI: Installing OS with a linux pc/laptop (ubuntu)" /><author><name>Dietrich Schroff</name><uri>http://www.blogger.com/profile/18397485256708620180</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dietrichschroff.blogspot.com/2020/11/raspberry-pi-installing-os-with-linux.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5146606961939082932.post-5196352435377798701</id><published>2020-10-25T21:12:00.001+01:00</published><updated>2020-10-25T21:12:14.654+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Cloud" /><category scheme="http://www.blogger.com/atom/ns#" term="Review" /><title type="text">Review: Terraform Up &amp; Running</title><content type="html">&lt;p&gt;Because of doing many project in the cloud, terraform is the tool which i use regularly. And to get better, i decided to read this book:&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-g4VaYkdmHvU/X5XR9RxueZI/AAAAAAAA2Uo/8IsXkptSMOcrVmnRpthlcm78uQikAOC6QCLcBGAsYHQ/s499/terraform.jpg" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="499" data-original-width="381" height="320" src="https://1.bp.blogspot.com/-g4VaYkdmHvU/X5XR9RxueZI/AAAAAAAA2Uo/8IsXkptSMOcrVmnRpthlcm78uQikAOC6QCLcBGAsYHQ/s320/terraform.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;If you are working with a cloud of one of the &lt;a href="https://en.wikipedia.org/wiki/Hyperscale_computing" target="_blank"&gt;hyperscalers&lt;/a&gt;, the you should take a look at terraform and perhaps you should read this book ;-)&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;If you are interested, take a look at &lt;a href="https://www.amazon.de/review/RCI08P6NNQHR/ref=pe_1604851_66412761_cm_rv_eml_rv0_rv" target="_blank"&gt;my review at amazon.de&lt;/a&gt; (like all my reviews: written in german ;-). &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/idXZd/~4/HbPIo4vfPUs" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dietrichschroff.blogspot.com/feeds/5196352435377798701/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://dietrichschroff.blogspot.com/2020/10/review-terraform-up-running.html#comment-form" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/5196352435377798701" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/5196352435377798701" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/idXZd/~3/HbPIo4vfPUs/review-terraform-up-running.html" title="Review: Terraform Up &amp; Running" /><author><name>Dietrich Schroff</name><uri>http://www.blogger.com/profile/18397485256708620180</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-g4VaYkdmHvU/X5XR9RxueZI/AAAAAAAA2Uo/8IsXkptSMOcrVmnRpthlcm78uQikAOC6QCLcBGAsYHQ/s72-c/terraform.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dietrichschroff.blogspot.com/2020/10/review-terraform-up-running.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5146606961939082932.post-8034938697288171938</id><published>2020-10-14T08:56:00.001+02:00</published><updated>2020-11-07T09:08:31.490+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><title type="text">Influxdb: colletcd database not created...</title><content type="html">&lt;p&gt;Yesterday i followed a &lt;a href="https://tinytalk.de/heimprojekt-fritzbox-internetbandbreite-messen-und-visualisieren" target="_blank"&gt;tutorial for building a dashboard&lt;/a&gt; for my fritzbox with &lt;a href="https://grafana.com/" target="_blank"&gt;Grafana&lt;/a&gt;.&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-RliM0uyouW4/X6ZUFnbEGqI/AAAAAAAA2ic/p5IfLvfVU8UFobwd5RZPDv-Ue79y1kCSgCLcBGAsYHQ/s840/Screenshot%2Bfrom%2B2020-11-07%2B08-59-18.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="805" data-original-width="840" src="https://1.bp.blogspot.com/-RliM0uyouW4/X6ZUFnbEGqI/AAAAAAAA2ic/p5IfLvfVU8UFobwd5RZPDv-Ue79y1kCSgCLcBGAsYHQ/s320/Screenshot%2Bfrom%2B2020-11-07%2B08-59-18.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;By follwoing the tutorial i had to setup collectd and influxdb.&lt;/p&gt;&lt;p&gt;My problem: i did not copy and paste the collectd config for influxdb.conf - i just uncommented the lines provided by the ubuntu package.&lt;/p&gt;&lt;p&gt;And there was /usr/local/share/collectd/types.db mentioned.&lt;/p&gt;&lt;p&gt;This caused the following problem:&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span style="font-family: courier;"&gt;zerberus influxd[16239]: run: open server: open service: Stat(): stat /usr/local/share/collectd/types.db: no such file or directory&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;So i justed touched this file, because i thought this is something where influxdb wants to store data.&lt;/p&gt;&lt;p&gt;But this was wrong and in /var/log/syslog i saw the following errors:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span style="font-family: courier;"&gt;unable to find "current" in TypesDB&lt;br /&gt;unable to find "if_octets" in TypesDB&lt;br /&gt;unable to find "if_errors" in TypesDB&lt;br /&gt;unable to find "if_dropped" in TypesDB&lt;br /&gt;unable to find "if_packets" in TypesDB&lt;br /&gt;unable to find "if_octets" in TypesDB&lt;br /&gt;unable to find "if_errors" in TypesDB&lt;br /&gt;unable to find "if_dropped" in TypesDB&lt;br /&gt;unable to find "if_packets" in TypesDB&lt;br /&gt;unable to find "if_octets" in TypesDB&lt;br /&gt;unable to find "if_errors" in TypesDB&lt;br /&gt;unable to find "disk_octets" in TypesDB&lt;br /&gt;unable to find "disk_ops" in TypesDB&lt;br /&gt;unable to find "disk_time" in TypesDB&lt;br /&gt;unable to find "disk_io_time" in TypesDB &lt;br /&gt;unable to find "disk_octets" in TypesDB&lt;br /&gt;unable to find "disk_ops" in TypesDB&lt;br /&gt;unable to find "disk_time" in TypesDB&lt;br /&gt;unable to find "disk_io_time" in TypesDB &lt;br /&gt;unable to find "disk_octets" in TypesDB&lt;br /&gt;unable to find "disk_ops" in TypesDB&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;?&lt;/p&gt;&lt;p&gt;The solution: Search for types.db in /usr and use this as entry for&lt;/p&gt;&lt;pre&gt;&lt;span class="line"&gt;typesdb = "/usr/share/collectd/types.db"&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;inside the section [[collectd]] in influxdb.conf... &lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/idXZd/~4/D3kJT0P4fwI" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dietrichschroff.blogspot.com/feeds/8034938697288171938/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://dietrichschroff.blogspot.com/2020/10/influxdb-colletcd-database-not-created.html#comment-form" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/8034938697288171938" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/8034938697288171938" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/idXZd/~3/D3kJT0P4fwI/influxdb-colletcd-database-not-created.html" title="Influxdb: colletcd database not created..." /><author><name>Dietrich Schroff</name><uri>http://www.blogger.com/profile/18397485256708620180</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-RliM0uyouW4/X6ZUFnbEGqI/AAAAAAAA2ic/p5IfLvfVU8UFobwd5RZPDv-Ue79y1kCSgCLcBGAsYHQ/s72-c/Screenshot%2Bfrom%2B2020-11-07%2B08-59-18.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dietrichschroff.blogspot.com/2020/10/influxdb-colletcd-database-not-created.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5146606961939082932.post-7014579312540811287</id><published>2020-09-24T21:42:00.001+02:00</published><updated>2020-09-24T21:42:00.350+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Azure" /><title type="text">Mission accomplished: OpenHack: Migrating Microsoft Workloads to Azure</title><content type="html">&lt;p&gt;&amp;nbsp;After three days of hard work i got my first OPENHACK badge:&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/--9bMAzIXsbI/X2y-ryr6wXI/AAAAAAAA1m0/gGqkDo6ldUEo9WLuyGpSE-vMbzEYdp3gACLcBGAsYHQ/s340/Migrating_Workloads_Azure1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="340" data-original-width="340" height="320" src="https://1.bp.blogspot.com/--9bMAzIXsbI/X2y-ryr6wXI/AAAAAAAA1m0/gGqkDo6ldUEo9WLuyGpSE-vMbzEYdp3gACLcBGAsYHQ/s320/Migrating_Workloads_Azure1.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="cr-badges-badge-issuer"&gt;&lt;div class="cr-badges-badge-issuer__entity"&gt;Issued by &lt;a class="track-link" href="https://www.youracclaim.com/org/microsoft-openhack"&gt;Microsoft OpenHack&lt;/a&gt;&lt;/div&gt;&lt;div class="cr-badges-badge-issuer__entity"&gt;Authorized by &lt;a class="track-link" href="https://www.youracclaim.com/org/microsoft-certification"&gt;Microsoft&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Here the details from Microsoft:&lt;/p&gt;&lt;div class="cr-badges-badge-issuer"&gt;&lt;div class="cr-badges-badge-issuer__entity"&gt;&lt;/div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div class="cr-badges-badge-issuer"&gt;&lt;/div&gt;&lt;span style="display: block; max-height: 28000px; overflow: hidden; position: relative;"&gt;&lt;span class="shiitake-children" style="display: block; width: 100%;"&gt;Earners  of the OpenHack: Migration badge understand how to execute an  end-to-end migration through optimization. They have shown that they can  utilize Azure Migrate to migrate virtual machines to Microsoft Azure  and can modernize legacy applications by migrating to PaaS services such  as Azure SQL Database and Azure App Service. They have also have a  foundational understanding of Azure identity, including hybrid identity  with Azure AD and how to leverage Azure RBAC to govern and secure  workloads.&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;p&gt;It was really a great challenge to discuss and implement all the goals. Thanks to the excellent coaches and for providing the infrastructure! &lt;br /&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/idXZd/~4/HVEZKICIWhg" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dietrichschroff.blogspot.com/feeds/7014579312540811287/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://dietrichschroff.blogspot.com/2020/09/mission-accomplished-openhack-migrating.html#comment-form" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/7014579312540811287" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/7014579312540811287" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/idXZd/~3/HVEZKICIWhg/mission-accomplished-openhack-migrating.html" title="Mission accomplished: OpenHack: Migrating Microsoft Workloads to Azure" /><author><name>Dietrich Schroff</name><uri>http://www.blogger.com/profile/18397485256708620180</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/--9bMAzIXsbI/X2y-ryr6wXI/AAAAAAAA1m0/gGqkDo6ldUEo9WLuyGpSE-vMbzEYdp3gACLcBGAsYHQ/s72-c/Migrating_Workloads_Azure1.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dietrichschroff.blogspot.com/2020/09/mission-accomplished-openhack-migrating.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5146606961939082932.post-4177033393608753738</id><published>2020-09-05T19:22:00.001+02:00</published><updated>2020-09-05T19:22:15.968+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><category scheme="http://www.blogger.com/atom/ns#" term="OS" /><category scheme="http://www.blogger.com/atom/ns#" term="UEFI" /><title type="text">Cloning my dual boot ubuntu to a larger SSD</title><content type="html">&lt;p&gt;&amp;nbsp;After working a while with my laptop i reached the disk limit with my SSD (256GB). First impression: Oh no - how to migrate onto a new, larger SDD...&lt;/p&gt;&lt;p&gt;But the prices have dropped so i bought a 1TB SSD and an external SSD box:&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-RsEMrRJ60Qg/X1PG0pOTuUI/AAAAAAAA1dI/2E_3DVfbwU4i4BN6JRKZynO_INjc41r6QCLcBGAsYHQ/s802/Screenshot%2Bfrom%2B2020-09-05%2B19-10-45.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="707" data-original-width="802" src="https://1.bp.blogspot.com/-RsEMrRJ60Qg/X1PG0pOTuUI/AAAAAAAA1dI/2E_3DVfbwU4i4BN6JRKZynO_INjc41r6QCLcBGAsYHQ/s320/Screenshot%2Bfrom%2B2020-09-05%2B19-10-45.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;Now i was thinking about copying the partitions with dd from the original disk to the other - or better doing a dd for the complete disk?&lt;/p&gt;&lt;p&gt;A friend offered me to use acronis, but the software refused to start on my laptop...&lt;/p&gt;&lt;p&gt;I googled a bit around and found the following solution (inspired by &lt;a href="http://www.geekyprojects.com/storage/how-to-clone-hard-drive-to-smaller-drive/"&gt;http://www.geekyprojects.com/storage/how-to-clone-hard-drive-to-smaller-drive/&lt;/a&gt;):&lt;/p&gt;&lt;p&gt;&lt;a href="https://clonezilla.org/"&gt;&lt;/a&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;a href="https://clonezilla.org/"&gt;clonzilla.org&lt;/a&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;And this worked excellent.&lt;br /&gt;After cloning my old ssd to the new one i removed the CD with clonzilla and my laptop immediately bootet from the new SSD which was still inside the SSD box.&lt;/p&gt;&lt;p&gt;Really cool!&lt;/p&gt;&lt;p&gt;I checked windows without replacing the SSD inside my laptop and this worked as well as the Ubuntu.&lt;/p&gt;&lt;p&gt;Next step was to boot with an GPARTED iso (can be found &lt;a href="https://gparted.org/download.php"&gt;here&lt;/a&gt;) and resize the linux partition up to the new limits.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;So last step was to open up my laptop and insert the 1TB SSD...&lt;/p&gt;&lt;p&gt;(Totally amazing that i did not have to run grub or change the uefi settings.)&lt;br /&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/idXZd/~4/iteKGKso7p4" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dietrichschroff.blogspot.com/feeds/4177033393608753738/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://dietrichschroff.blogspot.com/2020/09/cloning-my-dual-boot-ubuntu-to-larger.html#comment-form" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/4177033393608753738" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/4177033393608753738" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/idXZd/~3/iteKGKso7p4/cloning-my-dual-boot-ubuntu-to-larger.html" title="Cloning my dual boot ubuntu to a larger SSD" /><author><name>Dietrich Schroff</name><uri>http://www.blogger.com/profile/18397485256708620180</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-RsEMrRJ60Qg/X1PG0pOTuUI/AAAAAAAA1dI/2E_3DVfbwU4i4BN6JRKZynO_INjc41r6QCLcBGAsYHQ/s72-c/Screenshot%2Bfrom%2B2020-09-05%2B19-10-45.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dietrichschroff.blogspot.com/2020/09/cloning-my-dual-boot-ubuntu-to-larger.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5146606961939082932.post-3439675678573214171</id><published>2020-09-04T21:56:00.004+02:00</published><updated>2020-09-04T22:07:16.665+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Cloud" /><category scheme="http://www.blogger.com/atom/ns#" term="Docker" /><category scheme="http://www.blogger.com/atom/ns#" term="Review" /><title type="text">Review: Container Storage for Dummies</title><content type="html">&lt;p&gt;After reading &lt;a href="http://dietrichschroff.blogspot.com/2020/08/review-running-containers-in-production.html" target="_blank"&gt;Running Containers in Production for Dummies&lt;/a&gt; this book fell into my hands: &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="text-align: center;"&gt;&amp;nbsp;&lt;a href="https://1.bp.blogspot.com/-gv1QTs_WaaY/X1KaNdzJahI/AAAAAAAA1co/ZQ_eXuiPfAAGiRd3ZoHrr36vcLeS2a0JwCLcBGAsYHQ/s881/Screenshot%2Bfrom%2B2020-09-04%2B21-48-32.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="881" data-original-width="623" height="400" src="https://1.bp.blogspot.com/-gv1QTs_WaaY/X1KaNdzJahI/AAAAAAAA1co/ZQ_eXuiPfAAGiRd3ZoHrr36vcLeS2a0JwCLcBGAsYHQ/w283-h400/Screenshot%2Bfrom%2B2020-09-04%2B21-48-32.png" width="283" /&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="https://go.redhat.com/container-storage-dummies-20181031?sc_cid=701f2000000u6QkAAI" target="_blank"&gt;Container Storage for Dummies is promoted by RedHat&lt;/a&gt; and consists of 5 chapters with 35 pages.&amp;nbsp;&lt;/p&gt;&lt;p&gt;The first chapter gives a short summary about containers. I liked this statement very much: "For example, a VM is like a heavy hammer. It assumes you’re running a server and that the server can host multiple applications. [...] And the container can run just about anywhere, even on a bare metal machine or in a VM — the container doesn’t care." The chapter ends with a motivation why containers need persistent storage: ephemeral containers are transient....&lt;br /&gt;Chapter 2 has the title "Looking at Storage for and in Containers". The key argument here is: "Software-defined storage (SDS) separates storage hardware from storage controller software, enabling seamless portability across multiple forms of storage hardware. You can’t slice and dice storage using appliances or typical SAN/NAS as easily, readily, or quickly as you can with SDS." Both terms (Storage for Containers + Storage in Containers) are given a defintion (just take a look inside the book ;-)).&lt;br /&gt;In chapter 3 the authors want to convince the reader about the coolness of container-native storage with phrases like "Container-Native Storage Is the Next Sliced Bread". I think the main argument in this section is, that RedHat contributes a substantial parts to open source Kubernetes so that RedHats Openshift container storage fits easily in there. And this is done by introducing the Container Storage Interface which can be used by all storage providers.&lt;br /&gt;Chapter 4 motivates why developers like Container-Native storage: because it can be easily managed without SAN administrators....&lt;br /&gt;The last chapter closes with ten reasons to move to Cantainer-Native storage: simplified management, more automation, scalibility, ....&lt;br /&gt;&lt;br /&gt;As summary i think, this book is a nice starting point about the problems and possible solutions with storage for containers. It is a little bit disappointing, that openshift is not really explained - but within only 35 pages this is really impossible.&lt;br /&gt;If you are working or starting to work with containers i require you to read this booklet - it is a good start into the container world!&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/idXZd/~4/zEmcU61zNLY" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dietrichschroff.blogspot.com/feeds/3439675678573214171/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://dietrichschroff.blogspot.com/2020/09/review-container-storage-for-dummies.html#comment-form" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/3439675678573214171" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/3439675678573214171" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/idXZd/~3/zEmcU61zNLY/review-container-storage-for-dummies.html" title="Review: Container Storage for Dummies" /><author><name>Dietrich Schroff</name><uri>http://www.blogger.com/profile/18397485256708620180</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dietrichschroff.blogspot.com/2020/09/review-container-storage-for-dummies.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5146606961939082932.post-386539787328512172</id><published>2020-08-25T19:42:00.005+02:00</published><updated>2020-08-25T19:42:55.342+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AWS" /><category scheme="http://www.blogger.com/atom/ns#" term="Azure" /><category scheme="http://www.blogger.com/atom/ns#" term="Docker" /><category scheme="http://www.blogger.com/atom/ns#" term="Review" /><title type="text">Review: Running Containers in Production for dummies</title><content type="html">&lt;p&gt;&amp;nbsp;Last evening i read the following booklet:&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-DeR0QEKGImk/X0VMV2oT_0I/AAAAAAAA1ZQ/VHna_wnjp0w3tqetmGN7nZaxS9TTi2DhgCLcBGAsYHQ/s809/Screenshot%2Bfrom%2B2020-08-25%2B19-35-44.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="809" data-original-width="584" height="400" src="https://1.bp.blogspot.com/-DeR0QEKGImk/X0VMV2oT_0I/AAAAAAAA1ZQ/VHna_wnjp0w3tqetmGN7nZaxS9TTi2DhgCLcBGAsYHQ/w289-h400/Screenshot%2Bfrom%2B2020-08-25%2B19-35-44.png" width="289" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;Here my review:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;Chapter one gives within 7 pages an excellent introduction into "Containers &amp;amp; Orchestration Platforms". From Kubernetes over Openshift/Docker Swarm up to Amazon EKS - many services are described. In my opinion Azure AKS is missing, but it is clear, that every hyperscaler will provide you its managed Kubernetes environment. At the end even Apache Mesos is listed - which is out of scope for the most of us.&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote&gt;Building &amp;amp; Deploying Containers is the headline of chapter 2 and a brief, solid description of these topics is given. If you want to know what all the buzzwords like CI/CD/CS, Pipelines, Container Registries are about: Read that chapter and you have a good starting point.&lt;br /&gt;&lt;br /&gt;Nearly 33% of the book(let) is abount Monitoring Containers (chapter 3). This points in to the right directions. You have to know what your containers are doing and what you have to change with continuous delivery and continuous deployment. If you are running tens or hundreds of containers, the monitoring has to be&amp;nbsp; automatic as well - or you are lost. "A best practice for using containers is to isolate workloads by running only a single process per container.&amp;nbsp; Placing a monitoring agent — which amounts to a second process or service — in each container to get visibility risks destroying a key value of containers: simplicity." - So building up a monitoring is not such easy, as is was on full-stack servers...&lt;br /&gt;&lt;br /&gt;Chapter 4 is about Security. This focuses on the following topics: Implementing container limits against resource abuse, how to avoid outdated container images, management of secrets and image authenticity.&lt;br /&gt;&lt;br /&gt;The last chapter closes with "Ten Container Takeaways".&lt;/blockquote&gt;&lt;br /&gt;&amp;nbsp;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Within 43 pages a really nice starting point to learn about the world of docker and container orchestration.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/idXZd/~4/iBqJ--qZo5s" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dietrichschroff.blogspot.com/feeds/386539787328512172/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://dietrichschroff.blogspot.com/2020/08/review-running-containers-in-production.html#comment-form" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/386539787328512172" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/386539787328512172" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/idXZd/~3/iBqJ--qZo5s/review-running-containers-in-production.html" title="Review: Running Containers in Production for dummies" /><author><name>Dietrich Schroff</name><uri>http://www.blogger.com/profile/18397485256708620180</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dietrichschroff.blogspot.com/2020/08/review-running-containers-in-production.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5146606961939082932.post-8525714448058224779</id><published>2020-08-07T21:13:00.002+02:00</published><updated>2020-08-09T10:08:18.972+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="MISC" /><category scheme="http://www.blogger.com/atom/ns#" term="Web" /><title type="text">openssl: strange error.... (at first glance) error:2008F002:BIO </title><content type="html">&lt;div&gt;Some days ago i wanted to do a check of a certificate of an ip address. No big deal - so i did:&lt;/div&gt;  &lt;pre style="background: black none repeat scroll 0% 0%; color: silver;"&gt;&lt;blockquote&gt;schroff@zerberus:~$ openssl s_client -showcerts&amp;nbsp; -connect 82.165.229.87.87:443 &lt;br /&gt;&lt;br /&gt;140011908769088:error:2008F002:BIO routines:BIO_lookup_ex:system &lt;br /&gt;lib:../crypto/bio/b_addr.c:726:Name or service not known&lt;br /&gt;connect:errno=22&lt;br /&gt;&lt;/blockquote&gt;&lt;/pre&gt;&lt;div&gt;So i opened google to find a solution.&lt;/div&gt;&lt;div&gt;But on google i found nothing really helpful.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The answer was very easy:&lt;/div&gt;&lt;div&gt;If i read the command line carfully, i would have detected my error:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;THE IP ADDRESS WAS INVALID&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I wrote an ipv4 with 5 numbers and not with 4...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;After using a correct ipv4 number the command worked like expected:&lt;br /&gt;&lt;/div&gt;  &lt;pre style="background: black none repeat scroll 0% 0%; color: silver;"&gt;&lt;blockquote&gt;schroff@zerberus:~$ openssl s_client -showcerts  -connect 82.165.229.87:443 #&lt;br /&gt;CONNECTED(00000003)&lt;br /&gt;Can't use SSL_get_servername&lt;br /&gt;depth=2 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert Global Root CA&lt;br /&gt;verify return:1&lt;br /&gt;depth=1 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = GeoTrust RSA CA 2018&lt;br /&gt;verify return:1&lt;br /&gt;depth=0 C = DE, ST = Rheinland-Pfalz, L = Montabaur, O = 1&amp;amp;1 Mail &amp;amp; Media GmbH, CN = gmx.net&lt;br /&gt;verify return:1&lt;br /&gt;---&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;/pre&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/idXZd/~4/aXdbnIy1SGo" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dietrichschroff.blogspot.com/feeds/8525714448058224779/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://dietrichschroff.blogspot.com/2020/08/openssl-strange-error-on-first-look.html#comment-form" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/8525714448058224779" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/8525714448058224779" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/idXZd/~3/aXdbnIy1SGo/openssl-strange-error-on-first-look.html" title="openssl: strange error.... (at first glance) error:2008F002:BIO " /><author><name>Dietrich Schroff</name><uri>http://www.blogger.com/profile/18397485256708620180</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dietrichschroff.blogspot.com/2020/08/openssl-strange-error-on-first-look.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5146606961939082932.post-6361744359323589750</id><published>2020-06-13T23:03:00.000+02:00</published><updated>2020-07-25T15:47:14.934+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android" /><title type="text">Google GSI: Generic System Images for Smartphones</title><content type="html">&lt;div&gt;&lt;a href="https://www.blogger.com/blogger.g?blogID=5146606961939082932#" id="http://dietrichschroff.blogspot.com/2020/06/lineage-os-building-my-own-system-from.html" name="http://dietrichschroff.blogspot.com/2020/06/lineage-os-building-my-own-system-from.html"&gt;After building my own ROM&lt;/a&gt; i got some problems with the devices drivers for the modem (the dual SIM was not recognized).&lt;/div&gt;&lt;div&gt;I discussed that with a few very skilled Android developers and the device drivers are the most important problem for building ROMs.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But there is something called GSI: Generic System Images.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-fPnEDvhYxPw/Xta7bnNCuTI/AAAAAAAA0QQ/1cf6YhhXvK4pUoHs3chF41JziqvSG-R8QCK4BGAsYHg/Screenshot%2Bfrom%2B2020-06-02%2B22-49-14.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="471" data-original-width="1103" src="https://1.bp.blogspot.com/-fPnEDvhYxPw/Xta7bnNCuTI/AAAAAAAA0QQ/1cf6YhhXvK4pUoHs3chF41JziqvSG-R8QCK4BGAsYHg/d/Screenshot%2Bfrom%2B2020-06-02%2B22-49-14.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;(s. https://source.android.com/setup/build/gsi)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;and:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-hsVmXwT76rA/Xta70qtlN2I/AAAAAAAA0Qk/KKHLTkbq2skwaIigFlV1KHHUTXV0FyNpwCK4BGAsYHg/Screenshot%2Bfrom%2B2020-06-02%2B22-50-25.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="456" data-original-width="793" height="368" src="https://1.bp.blogspot.com/-hsVmXwT76rA/Xta70qtlN2I/AAAAAAAA0Qk/KKHLTkbq2skwaIigFlV1KHHUTXV0FyNpwCK4BGAsYHg/w640-h368/Screenshot%2Bfrom%2B2020-06-02%2B22-50-25.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The good point is that for my Samsung J530 there was a developer which built a project which allows to install GSIs:&lt;/div&gt;&lt;div&gt;&lt;a href="https://forum.xda-developers.com/galaxy-j7-2017/development/treble-projecttreble-v1-0-jxy17lte-t3929286"&gt;https://forum.xda-developers.com/galaxy-j7-2017/development/treble-projecttreble-v1-0-jxy17lte-t3929286&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-AhljkDO1rzw/Xta8f5dzt6I/AAAAAAAA0Q4/_qMNuhaQpUQlmQ4F6441G81uG228PtrIACK4BGAsYHg/Screenshot%2Bfrom%2B2020-06-02%2B22-53-53.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="910" data-original-width="1149" height="316" src="https://1.bp.blogspot.com/-AhljkDO1rzw/Xta8f5dzt6I/AAAAAAAA0Q4/_qMNuhaQpUQlmQ4F6441G81uG228PtrIACK4BGAsYHg/w400-h316/Screenshot%2Bfrom%2B2020-06-02%2B22-53-53.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;With this plus Havoc 3.5&lt;/div&gt;&lt;div&gt;&lt;a href="https://forum.xda-developers.com/galaxy-j7-2017/development/rom-crdroid-6-3-android-q-10-0-galaxy-t4048917"&gt;https://forum.xda-developers.com/galaxy-j7-2017/development/rom-crdroid-6-3-android-q-10-0-galaxy-t4048917&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-BFZBglpfiTM/Xta9AOvLibI/AAAAAAAA0RQ/8oFaKzPeerIk7phbMB3vzXsv7FfNubxsACK4BGAsYHg/Screenshot%2Bfrom%2B2020-06-02%2B22-56-06.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="760" data-original-width="1166" src="https://1.bp.blogspot.com/-BFZBglpfiTM/Xta9AOvLibI/AAAAAAAA0RQ/8oFaKzPeerIk7phbMB3vzXsv7FfNubxsACK4BGAsYHg/s320/Screenshot%2Bfrom%2B2020-06-02%2B22-56-06.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And here the steps to Android 10 (which where provided to me by &lt;b&gt;Micro[ice]&lt;/b&gt;:&lt;/div&gt;&lt;div&gt;&lt;ol style="text-align: left;"&gt;&lt;li&gt;install TWRP&lt;/li&gt;&lt;li&gt;install create vendor 2.0&lt;/li&gt;&lt;li&gt;reboot recovery&lt;/li&gt;&lt;li&gt;install project spaget x &lt;br /&gt;(if u get symlink error 7 flash revert vendor 2.0 and repeat from step 1 without revert vendor 2.0)&lt;/li&gt;&lt;li&gt;install GSI (Havoc)-OS &lt;br /&gt;(dont reboot after u flash project spaget x)&lt;/li&gt;&lt;li&gt;if u need to flash gapps first u need to go &lt;br /&gt;Wipe -&amp;gt; Advanced Wipe -&amp;gt; Tick System -&amp;gt; Repair -&amp;gt; Resize &lt;br /&gt;(if u get error 1 resize again it will be successful) then u flash gapps&lt;/li&gt;&lt;li&gt;flash areskernel rc2 &lt;/li&gt;&lt;li&gt;(optional) flash magisk&lt;/li&gt;&lt;li&gt;reboot&lt;/li&gt;&lt;li&gt;enjoy&lt;/li&gt;&lt;/ol&gt;And after that i have a running Android 10 on my Samsung J5... (without any Samsung Bloatware)&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/idXZd/~4/vkWTjSSvtzw" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dietrichschroff.blogspot.com/feeds/6361744359323589750/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://dietrichschroff.blogspot.com/2020/06/google-gsi-generic-system-images-for.html#comment-form" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/6361744359323589750" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/6361744359323589750" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/idXZd/~3/vkWTjSSvtzw/google-gsi-generic-system-images-for.html" title="Google GSI: Generic System Images for Smartphones" /><author><name>Dietrich Schroff</name><uri>http://www.blogger.com/profile/18397485256708620180</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-BFZBglpfiTM/Xta9AOvLibI/AAAAAAAA0RQ/8oFaKzPeerIk7phbMB3vzXsv7FfNubxsACK4BGAsYHg/s72-c/Screenshot%2Bfrom%2B2020-06-02%2B22-56-06.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dietrichschroff.blogspot.com/2020/06/google-gsi-generic-system-images-for.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5146606961939082932.post-237690351307680131</id><published>2020-06-05T20:48:00.000+02:00</published><updated>2020-06-05T20:48:12.161+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android" /><category scheme="http://www.blogger.com/atom/ns#" term="Kernel" /><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><title type="text">Lineage OS: Building my own system from scratch...</title><content type="html">For my Samsung J5 is was only able to find a lineage 15.1 image but no lineage 16 or even 17.&lt;br /&gt;So i decided to build the image on my own.&lt;br /&gt;&lt;br /&gt;I followed this guide:&lt;br /&gt;https://github.com/lineage-doge/device-j5y17lte/tree/lineage-16.0&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-vMTrKNP3efs/XqxhylJpcvI/AAAAAAAAzn4/UAYA4AAybTcSTMPLOoqpWwi8tvaStIhZACLcBGAsYHQ/s1600/Screenshot%2Bfrom%2B2020-05-01%2B19-51-45.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="810" data-original-width="1054" height="306" src="https://1.bp.blogspot.com/-vMTrKNP3efs/XqxhylJpcvI/AAAAAAAAzn4/UAYA4AAybTcSTMPLOoqpWwi8tvaStIhZACLcBGAsYHQ/s400/Screenshot%2Bfrom%2B2020-05-01%2B19-51-45.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;But on this page the roomservice.xml is wrong:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-gAMdhLuCmd0/Xq0obboFdfI/AAAAAAAAzow/ERRxRZSbAPw0PnqgiIK_pbRO930AAP3jwCLcBGAsYHQ/s1600/Screenshot%2Bfrom%2B2020-05-02%2B09-58-52.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="268" data-original-width="919" height="186" src="https://1.bp.blogspot.com/-gAMdhLuCmd0/Xq0obboFdfI/AAAAAAAAzow/ERRxRZSbAPw0PnqgiIK_pbRO930AAP3jwCLcBGAsYHQ/s640/Screenshot%2Bfrom%2B2020-05-02%2B09-58-52.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;manifest&gt;&lt;project name="Valera1978/android_device_samsung_gtaxllte" path="device/samsung/gtaxllte" remote="github"&gt;&lt;project name="Valera1978/android_kernel_samsung_exynos7870" path="kernel/samsung/exynos7870" remote="github" revision="lineage-16.0-upstream"&gt;&lt;project name="Valera1978/android_vendor_samsung_gtaxllte" path="vendor/samsung/gtaxllte" remote="github"&gt;&lt;project name="Valera1978/android_hardware_samsung" path="hardware/samsung" remote="github"&gt; &lt;project name="LineageOS/android_packages_resources_devicesettings" path="packages/resources/devicesettings" remote="github"&gt;&lt;br /&gt;&lt;/project&gt;&lt;/project&gt;&lt;/project&gt;&lt;/project&gt;&lt;/project&gt;&lt;/manifest&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Just change it to&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-_OxG2nECh44/Xq0obe5v5VI/AAAAAAAAzos/HJthMT5tYok7Vw2-puYmKFKogcO-84m-QCEwYBhgL/s1600/Screenshot%2Bfrom%2B2020-05-02%2B09-59-04.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="157" data-original-width="1320" height="75" src="https://1.bp.blogspot.com/-_OxG2nECh44/Xq0obe5v5VI/AAAAAAAAzos/HJthMT5tYok7Vw2-puYmKFKogcO-84m-QCEwYBhgL/s640/Screenshot%2Bfrom%2B2020-05-02%2B09-59-04.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;&lt;manifest&gt;&lt;br /&gt;  &lt;project name="lineage-doge/device-j5y17lte" path="device/samsung/j5y17lte" remote="github"&gt;&lt;br /&gt;  &lt;project name="lineage-doge/kernel-exynos7870" path="kernel/samsung/exynos7870" remote="github" revision="lineage-16.0"&gt;&lt;br /&gt;  &lt;project name="lineage-doge/vendor-j5y17lte" path="vendor/samsung/j5y17lte" remote="github" revision="lineage-17.0"&gt;&lt;br /&gt;  &lt;project name="lineage-doge/hardware-samsung" path="hardware/samsung" remote="github"&gt;&lt;br /&gt;  &lt;project name="LineageOS/android_packages_resources_devicesettings" path="packages/resources/devicesettings" remote="github"&gt;&lt;br /&gt;&lt;/project&gt;&lt;/project&gt;&lt;/project&gt;&lt;/project&gt;&lt;/project&gt;&lt;/manifest&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;The rest was following the instructions:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;pre style="background: black none repeat scroll 0% 0%; color: silver;"&gt;mkdir -p android/lineage-16.0&lt;br /&gt;cd android/lineage-16.0&lt;br /&gt;repo init -u git://github.com/LineageOS/android.git -b lineage-16.0&lt;br /&gt;repo sync&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;Create .repo/local_manifests/roomservice.xml with the content shown above.&lt;br /&gt;Then run "repo sync" once again.&lt;br /&gt;&lt;br /&gt;Most important point it to extract the binaries from your device. To get a background just read this:&lt;br /&gt;&lt;a href="https://wiki.lineageos.org/extracting_blobs_from_zips.html"&gt;https://wiki.lineageos.org/extracting_blobs_from_zips.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I extracted /system from my Android device via TWRP (under advanced you can find a file explorer and this can copy the partition to your sd card).&lt;br /&gt;After that point STOCK_ROM_DIR to your sd card and run: &lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;pre style="background: black none repeat scroll 0% 0%; color: silver;"&gt;cd device/samsung/j5y17lte&lt;br /&gt;STOCK_ROM_DIR=/path/to/system ./extract-files.sh&lt;/pre&gt;&lt;/blockquote&gt;Now we are ready to rumble:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;pre style="background: black none repeat scroll 0% 0%; color: silver;"&gt;cd ../../&lt;br /&gt;source build/envsetup.sh&lt;br /&gt;brunch lineage_j5y17lte-userdebug&lt;/pre&gt;&lt;/blockquote&gt;But after some minutes:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;span style="font-family: &amp;quot;courier new&amp;quot;, &amp;quot;courier&amp;quot;, monospace;"&gt;&lt;span style="font-size: xx-small;"&gt;LD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; kernel/built-in.o&lt;br /&gt;/media/schroff/895337b7-c4eb-44a4-9063-00f629e5149f/lineage-16.0/kernel/samsung/exynos7870/drivers/net/wireless/Makefile:62: android version 1: 90000&lt;br /&gt;/media/schroff/895337b7-c4eb-44a4-9063-00f629e5149f/lineage-16.0/kernel/samsung/exynos7870/drivers/net/wireless/Makefile:63: MAJOR_VERSION version 1: 9&lt;br /&gt;/media/schroff/895337b7-c4eb-44a4-9063-00f629e5149f/lineage-16.0/kernel/samsung/exynos7870/drivers/net/wireless/Makefile:107: platform version 3 : 9.0.0&lt;br /&gt;/media/schroff/895337b7-c4eb-44a4-9063-00f629e5149f/lineage-16.0/kernel/samsung/exynos7870/drivers/net/wireless/Makefile:108: MAJOR_VERSION version 3: 9&lt;br /&gt;&amp;nbsp; LD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; drivers/built-in.o&lt;br /&gt;make[1]: Leaving directory '/media/schroff/895337b7-c4eb-44a4-9063-00f629e5149f/lineage-16.0/out/target/product/j5y17lte/obj/KERNEL_OBJ'&lt;br /&gt;Makefile:145: recipe for target 'sub-make' failed&lt;br /&gt;make: *** [sub-make] Error 2&lt;br /&gt;make: Leaving directory '/media/schroff/895337b7-c4eb-44a4-9063-00f629e5149f/lineage-16.0/kernel/samsung/exynos7870'&lt;br /&gt;[&amp;nbsp; 1% 555/35382] target StaticLib: libv8src_32 (/media/schroff/895337b7-c4eb-44a4-...arget/product/j5y17lte/obj_arm/STATIC_LIBRARIES/libv8src_intermediates/libv8src.a)&lt;br /&gt;ninja: build stopped: subcommand failed.&lt;br /&gt;19:21:20 ninja failed with: exit status 1&lt;br /&gt;&lt;br /&gt;#### failed to build some targets (05:29 (mm:ss)) ####&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;But this error is easy to fix:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;pre style="background: black none repeat scroll 0% 0%; color: silver;"&gt;cd ~/android/lineage-16.0/out/target/product/j5y17lte/obj/KERNEL_OBJ/firmware/tsp_imagis&lt;br /&gt;cp ~/android/lineage-16.0/kernel/samsung/exynos7870/firmware/tsp_imagis/ist3038h_a3x_cmcs.bin .&lt;br /&gt;~/android/lineage-16.0/kernel/samsung/exynos7870/firmware/tsp_imagis/ist3038h_a3x.fw .&lt;br /&gt;schroff@zerberus:~/android/lineage-16.0/out/target/product/j5y17lte/obj/KERNEL_OBJ/firmware/tsp_imagis$&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;and try once again!&lt;br /&gt;&lt;br /&gt;And after a while:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;span style="font-family: &amp;quot;courier new&amp;quot;, &amp;quot;courier&amp;quot;, monospace;"&gt;&lt;span style="font-size: xx-small;"&gt;&amp;nbsp; Imgdiff Stats Report&amp;nbsp; &lt;br /&gt;========================&lt;br /&gt;&lt;br /&gt;Compressing system.new.dat with brotli&lt;br /&gt;&amp;nbsp; running:&amp;nbsp; brotli --quality=6 --output=/tmp/tmpAOkKFk/system.new.dat.br /tmp/tmpAOkKFk/system.new.dat&lt;br /&gt;using prebuilt boot.img from BOOTABLE_IMAGES...&lt;br /&gt;&amp;nbsp; running:&amp;nbsp; java -Xmx2048m -Djava.library.path=/media/schroff/895337b7-c4eb-44a4-9063-00f629e5149f/lineage-16.0/out/host/linux-x86/lib64 -jar /media/schroff/895337b7-c4eb-44a4-9063-00f629e5149f/lineage-16.0/out/host/linux-x86/framework/signapk.jar -w build/target/product/security/testkey.x509.pem build/target/product/security/testkey.pk8 /tmp/tmptUxdfx.zip /tmp/tmpSgxnBy.zip&lt;br /&gt;&amp;nbsp; running:&amp;nbsp; zip -d /tmp/tmpSgxnBy.zip META-INF/com/android/metadata&lt;br /&gt;&amp;nbsp; running:&amp;nbsp; java -Xmx2048m -Djava.library.path=/media/schroff/895337b7-c4eb-44a4-9063-00f629e5149f/lineage-16.0/out/host/linux-x86/lib64 -jar /media/schroff/895337b7-c4eb-44a4-9063-00f629e5149f/lineage-16.0/out/host/linux-x86/framework/signapk.jar -w build/target/product/security/testkey.x509.pem build/target/product/security/testkey.pk8 /tmp/tmpSgxnBy.zip /media/schroff/895337b7-c4eb-44a4-9063-00f629e5149f/lineage-16.0/out/target/product/j5y17lte/lineage_j5y17lte-ota-eng.schroff.zip&lt;br /&gt;done.&lt;br /&gt;[100% 453/453] build bacon&lt;br /&gt;Package Complete: /media/schroff/895337b7-c4eb-44a4-9063-00f629e5149f/lineage-16.0/out/target/product/j5y17lte/lineage-16.0-20200502-UNOFFICIAL-j5y17lte.zip&lt;br /&gt;&lt;br /&gt;#### build completed successfully (27:31 (mm:ss)) ####&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/idXZd/~4/MjHZQCrGpWo" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dietrichschroff.blogspot.com/feeds/237690351307680131/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://dietrichschroff.blogspot.com/2020/05/lineage-os-building-my-own-system-from.html#comment-form" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/237690351307680131" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/237690351307680131" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/idXZd/~3/MjHZQCrGpWo/lineage-os-building-my-own-system-from.html" title="Lineage OS: Building my own system from scratch..." /><author><name>Dietrich Schroff</name><uri>http://www.blogger.com/profile/18397485256708620180</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-vMTrKNP3efs/XqxhylJpcvI/AAAAAAAAzn4/UAYA4AAybTcSTMPLOoqpWwi8tvaStIhZACLcBGAsYHQ/s72-c/Screenshot%2Bfrom%2B2020-05-01%2B19-51-45.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dietrichschroff.blogspot.com/2020/05/lineage-os-building-my-own-system-from.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5146606961939082932.post-7817738718259028870</id><published>2020-05-31T09:15:00.002+02:00</published><updated>2020-05-31T09:15:48.760+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android" /><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><title type="text">Custom ROMs: Installing via TWRP (e.g. Prometheus ROM)</title><content type="html">&lt;div&gt;&lt;a href="#" id="http://dietrichschroff.blogspot.com/2020/04/using-custom-bootloader-for-my.html" name="http://dietrichschroff.blogspot.com/2020/04/using-custom-bootloader-for-my.html"&gt;After installing TWRP&lt;/a&gt; and &lt;a href="#" id="http://dietrichschroff.blogspot.com/2020/04/smartphone-installing-lineageos-googles.html" name="http://dietrichschroff.blogspot.com/2020/04/smartphone-installing-lineageos-googles.html"&gt;installing some ROMs via adb sideload&lt;/a&gt;, (or &lt;a href="#" id="http://dietrichschroff.blogspot.com/search/label/Android" name="http://dietrichschroff.blogspot.com/search/label/Android"&gt;this story with my old Nexus 7&lt;/a&gt;) i learned that there is another way for installing Custom ROMs:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Boot in to recovery (Samsung: Home Button + Power + Volume Up)&lt;/li&gt;&lt;li&gt; Copy the ROM.zip to the SD card of the smartphone&lt;/li&gt;&lt;li&gt;and then follow this screenshots&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: center;"&gt;Click on "Install"&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-aojGt-aaUIY/XtNXEhX6lwI/AAAAAAAA0M0/BSrigWHBFrQzLO-_TFG37LArymEkXCMDQCK4BGAsYHg/Screenshot_2020-05-28-15-50-46.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="1280" data-original-width="720" height="640" src="https://1.bp.blogspot.com/-aojGt-aaUIY/XtNXEhX6lwI/AAAAAAAA0M0/BSrigWHBFrQzLO-_TFG37LArymEkXCMDQCK4BGAsYHg/w360-h640/Screenshot_2020-05-28-15-50-46.png" width="360" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Click "Select Storage"&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-1puPt5K8bVY/XtNXG-eBcYI/AAAAAAAA0NE/4kyeUkL0b14HxNhLSx60vJ3FOIjD2veOwCK4BGAsYHg/Screenshot_2020-05-31-01-55-15.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="1280" data-original-width="720" height="640" src="https://1.bp.blogspot.com/-1puPt5K8bVY/XtNXG-eBcYI/AAAAAAAA0NE/4kyeUkL0b14HxNhLSx60vJ3FOIjD2veOwCK4BGAsYHg/w360-h640/Screenshot_2020-05-31-01-55-15.png" width="360" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Select your SD card&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-NA3XnElt1PU/XtNXHUlx4_I/AAAAAAAA0NI/ahWGgK-SgHgXbhtr7jGIiTlfsiFZJw6vgCK4BGAsYHg/Screenshot_2020-05-31-01-55-18.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="1280" data-original-width="720" height="640" src="https://1.bp.blogspot.com/-NA3XnElt1PU/XtNXHUlx4_I/AAAAAAAA0NI/ahWGgK-SgHgXbhtr7jGIiTlfsiFZJw6vgCK4BGAsYHg/w360-h640/Screenshot_2020-05-31-01-55-18.png" width="360" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Select the ROM you want to install:&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-7Bk3XqAeOwI/XtNXII1qlwI/AAAAAAAA0NM/1Ej-0NH4E5Y6R-c5goK6nl2INAZ3pcn9gCK4BGAsYHg/Screenshot_2020-05-31-01-55-25.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="1280" data-original-width="720" height="640" src="https://1.bp.blogspot.com/-7Bk3XqAeOwI/XtNXII1qlwI/AAAAAAAA0NM/1Ej-0NH4E5Y6R-c5goK6nl2INAZ3pcn9gCK4BGAsYHg/w360-h640/Screenshot_2020-05-31-01-55-25.png" width="360" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Swipe to the right&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-t0gZSE8zHGs/XtNXIi2dAFI/AAAAAAAA0NQ/diIBbJqI06kvo8iJ4MtNlsac-NGmQx8rwCK4BGAsYHg/Screenshot_2020-05-31-01-55-28.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="1280" data-original-width="720" height="640" src="https://1.bp.blogspot.com/-t0gZSE8zHGs/XtNXIi2dAFI/AAAAAAAA0NQ/diIBbJqI06kvo8iJ4MtNlsac-NGmQx8rwCK4BGAsYHg/w360-h640/Screenshot_2020-05-31-01-55-28.png" width="360" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Then some of the ROMs (like Prometheus) will guide you through an installation wizard, where you can chose some options.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you want to try Prometheus you can download it &lt;a href="#" id="https://forum.xda-developers.com/galaxy-j5/samsung-galaxy-j5-pro-2017-roms-kernels-recoveries--other-development/rom-prometheusoneui-v1-0-t3913956/page22" name="https://forum.xda-developers.com/galaxy-j5/samsung-galaxy-j5-pro-2017-roms-kernels-recoveries--other-development/rom-prometheusoneui-v1-0-t3913956/page22"&gt;here.&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/idXZd/~4/NpqJGf2nB1k" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dietrichschroff.blogspot.com/feeds/7817738718259028870/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://dietrichschroff.blogspot.com/2020/05/custom-roms-installing-via-twrp-eg.html#comment-form" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/7817738718259028870" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5146606961939082932/posts/default/7817738718259028870" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/idXZd/~3/NpqJGf2nB1k/custom-roms-installing-via-twrp-eg.html" title="Custom ROMs: Installing via TWRP (e.g. Prometheus ROM)" /><author><name>Dietrich Schroff</name><uri>http://www.blogger.com/profile/18397485256708620180</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dietrichschroff.blogspot.com/2020/05/custom-roms-installing-via-twrp-eg.html</feedburner:origLink></entry></feed>
