main
1<!DOCTYPE html>
2<html lang="en">
3<head>
4<!-- Sep 03, 2024 -->
5<meta charset="utf-8" />
6<meta name="viewport" content="width=device-width, initial-scale=1" />
7<title>Infrastructure</title>
8<meta name="author" content="Vincent Demeester" />
9<meta name="generator" content="Org Mode" />
10<link rel='icon' type='image/x-icon' href='/images/favicon.ico'/>
11<meta name='viewport' content='width=device-width, initial-scale=1'>
12<link rel='stylesheet' href='/css/new.css' type='text/css'/>
13<link rel='stylesheet' href='/css/syntax.css' type='text/css'/>
14<link href='/index.xml' rel='alternate' type='application/rss+xml' title='Vincent Demeester' />
15</head>
16<body>
17<main id="content" class="content">
18<header>
19<h1 class="title">Infrastructure</h1>
20</header><p>
21This should cover links and idea around my infrastructure (and infrastructure in
22general). Their implementation should be <i>mostly</i> be covered on the <a href="config_configurations.html">configurations</a> part,
23as it all lives in my <a href="https://git.sr.ht/~vdemeester/home">monorepo</a>.
24</p>
25
26<p>
27I treat my local machine as <b>pet</b> but anything that is remote should
28be considered as cattle. This mainly means <b>it’s a matter of
29minutes/hours to setup back those machines</b> (limiting factor here
30would be network and compute time). Everything should be reproductible
31as much as possible <b>and</b> tested if possible. It is also true for my <b>pet</b> machines
32though, they should be quick to re-setup if need be (from backups, …).
33</p>
34
35<nav id="table-of-contents" role="doc-toc">
36<h2>Table of Contents</h2>
37<div id="text-table-of-contents" role="doc-toc">
38<ul>
39<li><a href="#Needs%20and%20requirements">Needs and requirements</a></li>
40<li><a href="#Systems">Systems</a></li>
41<li><a href="#Triage">Triage</a></li>
42</ul>
43</div>
44</nav>
45<section id="outline-container-Needs%20and%20requirements" class="outline-2">
46<h2 id="Needs%20and%20requirements">Needs and requirements</h2>
47<div class="outline-text-2" id="text-Needs%20and%20requirements">
48<p>
49What are my needs and what are my requirements… Writing (and thinking) about them should
50help me decide what to do in terms of <i>Personal infrastructure</i>. Also, take into account
51my current “hardware” before taking decision (as “this would be perfect, but does the
52current hardware do the job”).
53</p>
54
55<p>
56One thing to note though, in <i>Personal infrastructure</i> I also have some elements that are
57related to work. I am a developer, and I work mainly on <a href="openshift.html">OpenShift</a> and <a href="kubernetes.html">Kubernetes</a>, and thus
58I need ways to create temporary cluster on my network.
59</p>
60
61<p>
62Let’s split the <span class="underline">needs</span> into several parts:
63</p>
64
65<dl class="org-dl">
66<dt>Work</dt><dd><ul class="org-ul">
67<li>OpenShift cluster(s) for development and testing purpose
68<ul class="org-ul">
69<li><a href="openshift_on_vm_bare_metal.html">OpenShift on VM Bare metal</a></li>
70<li><a href="crc.html">OpenShift locally (CRC)</a></li>
71</ul></li>
72<li>Kubernetes cluster(s) for development and testing purpose
73<ul class="org-ul">
74<li><a href="kind.html">kind</a> for developement (one-node, locally or multiple node, remotely)</li>
75<li><a href="microk8s.html">microk8s</a> for <i>remote</i> development (multiple node)</li>
76<li><a href="kubernetes_on_nixos.html">kubernetes on nixos</a> for a “long-term” cluster running</li>
77</ul></li>
78</ul></dd>
79<dt>Personnal</dt><dd><ul class="org-ul">
80<li>Basics:
81<ul class="org-ul">
82<li>Backup and network data access (NAS)</li>
83<li>Secure Remote access to data and machines wherever they are (VPN)</li>
84<li>Sync between systems (some folders like documents, …)</li>
85</ul></li>
86<li>Extras:
87<ul class="org-ul">
88<li>Automation system à-là-ifttt
89<ul class="org-ul">
90<li>Async download system</li>
91<li>Notifications/Report system (todo deadlines, work report mail, …)</li>
92<li>Health tracking system (fitbit, … sync)</li>
93</ul></li>
94<li>Media library system
95<ul class="org-ul">
96<li>Music sync system (<code>music</code> <-> spotify if possible – i.e playlists, downloads)</li>
97<li>Same for Movies, TV Shows, …</li>
98</ul></li>
99<li>Private/public source repository (if not using <a href="github.html">github</a>, <a href="gitlab.html">gitlab</a>, <a href="git_sr_ht.html">git.sr.ht</a>, …)</li>
100<li>Cache system (for build, system updates, …)</li>
101<li>Sharing system (publish securely to a group of ppl)</li>
102<li>Messaging bouncer (irc, …) — get history, keep connected</li>
103</ul></li>
104<li>Bonus:
105<ul class="org-ul">
106<li>Personal libraries depot (ex <code>lib.tools</code>)</li>
107<li>Continous integration</li>
108</ul></li>
109</ul></dd>
110</dl>
111
112<p>
113The Basics <b>need</b> to be taken care of in priority, and <span class="underline">always working</span>. As in kanban, if
114those are not working, it’s <b>top priority</b> to fix them.
115</p>
116
117<p>
118The Extras are nice to have but not required, so decide what to do for them depending on
119the time you have. This also means, if those are down for a reason, it’s possible to not
120get them back up. And the <i>Bonus</i> are really if you’re bored or have time to kill
121(i.e. never).
122</p>
123
124<p>
125Also, something for my future self : don’t tie personal infrastructure together. What I
126mean by that is : use the right things (tools, hardware, …) that do the job, even if it’s
127not the one you work on at work.
128</p>
129</div>
130</section>
131<section id="outline-container-Systems" class="outline-2">
132<h2 id="Systems">Systems</h2>
133<div class="outline-text-2" id="text-Systems">
134<p>
135I am going to list the different system I’ve got, being <i>bare-metal</i> (aka laptop,
136workstation, nuc, …), in the <span class="underline">cloud</span> or VMs. Those are the <span class="underline">pet</span> systems, aka the ones
137that are significant. I won’t list all the <span class="underline">cattle</span> VMs I’ve got.
138</p>
139
140<div id="text-table-of-contents-1" role="doc-toc">
141<ul>
142<li><a href="#naruhodo">naruhodo</a></li>
143<li><a href="#wakasu">wakasu</a></li>
144<li><a href="#okinawa">okinawa</a></li>
145<li><a href="#sakhalin">sakhalin</a></li>
146<li><a href="#honshu">honshu</a></li>
147<li><a href="#kerkouane">kerkouane   <span class="tag"><span class="remote">remote</span></span></a></li>
148<li><a href="#Systems--honshu">honshu</a></li>
149<li><a href="#hokkaido">hokkaido</a></li>
150<li><a href="#sapporo">sapporo</a></li>
151</ul>
152</div>
153</div>
154<div id="outline-container-naruhodo" class="outline-3">
155<h3 id="naruhodo">naruhodo</h3>
156<div class="outline-text-3" id="text-naruhodo">
157<p>
158Thinkpad t480s
159</p>
160</div>
161</div>
162<div id="outline-container-wakasu" class="outline-3">
163<h3 id="wakasu">wakasu</h3>
164<div class="outline-text-3" id="text-wakasu">
165<p>
166Thinkpad P50
167</p>
168</div>
169</div>
170<div id="outline-container-okinawa" class="outline-3">
171<h3 id="okinawa">okinawa</h3>
172</div>
173
174<div id="outline-container-sakhalin" class="outline-3">
175<h3 id="sakhalin">sakhalin</h3>
176</div>
177
178<div id="outline-container-honshu" class="outline-3">
179<h3 id="honshu">honshu</h3>
180</div>
181
182<div id="outline-container-kerkouane" class="outline-3">
183<h3 id="kerkouane">kerkouane   <span class="tag"><span class="remote">remote</span></span></h3>
184</div>
185
186<div id="outline-container-Systems--honshu" class="outline-3">
187<h3 id="Systems--honshu">honshu</h3>
188<div class="outline-text-3" id="text-Systems--honshu">
189<p>
190macbook pro 13
191</p>
192</div>
193</div>
194<div id="outline-container-hokkaido" class="outline-3">
195<h3 id="hokkaido">hokkaido</h3>
196<div class="outline-text-3" id="text-hokkaido">
197<p>
198Dell
199</p>
200</div>
201</div>
202<div id="outline-container-sapporo" class="outline-3">
203<h3 id="sapporo">sapporo</h3>
204</div>
205</section>
206<section id="outline-container-Triage" class="outline-2">
207<h2 id="Triage">Triage</h2>
208<div class="outline-text-2" id="text-Triage">
209</div>
210<div id="outline-container-Softwares%20and%20tools" class="outline-3">
211<h3 id="Softwares%20and%20tools">Softwares and tools</h3>
212<div class="outline-text-3" id="text-Softwares%20and%20tools">
213<ul class="org-ul">
214<li><a href="email.html">email</a>s</li>
215<li><a href="ipfs.html">ipfs</a></li>
216<li><a href="https://www.paritybit.ca/blog/setting-up-a-status-page">Setting Up a Status Page - paritybit.ca</a></li>
217</ul>
218</div>
219</div>
220<div id="outline-container-Links" class="outline-3">
221<h3 id="Links">Links</h3>
222<div class="outline-text-3" id="text-Links">
223</div>
224<div id="outline-container-%5B%5Bhttps%3A%2F%2Fjkcfg.github.io%2F%23%2F%5D%5Bjk%5D%5D" class="outline-4">
225<h4 id="%5B%5Bhttps%3A%2F%2Fjkcfg.github.io%2F%23%2F%5D%5Bjk%5D%5D"><span class="todo TODO">TODO</span> <a href="https://jkcfg.github.io/#/">jk</a>   <span class="tag"><span class="configuration">configuration</span> <span class="infra">infra</span></span></h4>
226<div class="outline-text-4" id="text-%5B%5Bhttps%3A%2F%2Fjkcfg.github.io%2F%23%2F%5D%5Bjk%5D%5D">
227<p>
228<span class="timestamp-wrapper"><span class="timestamp">[2020-01-03 Fri 17:02]</span></span>
229</p>
230</div>
231</div>
232<div id="outline-container-%5B%5Bhttps%3A%2F%2Fferd.ca%2Fa-pipeline-made-of-airbags.html%5D%5BA%20Pipeline%20Made%20of%20Airbags%5D%5D" class="outline-4">
233<h4 id="%5B%5Bhttps%3A%2F%2Fferd.ca%2Fa-pipeline-made-of-airbags.html%5D%5BA%20Pipeline%20Made%20of%20Airbags%5D%5D"><span class="todo TODO">TODO</span> <a href="https://ferd.ca/a-pipeline-made-of-airbags.html">A Pipeline Made of Airbags</a></h4>
234<div class="outline-text-4" id="text-%5B%5Bhttps%3A%2F%2Fferd.ca%2Fa-pipeline-made-of-airbags.html%5D%5BA%20Pipeline%20Made%20of%20Airbags%5D%5D">
235<p>
236<span class="timestamp-wrapper"><span class="timestamp">[2020-09-25 Fri 11:46]</span></span>
237</p>
238</div>
239</div>
240</div>
241</section>
242</main>
243<footer id="postamble" class="status">
244<footer>
245 <small><a href="/" rel="history">Index</a> • <a href="/sitemap.html">Sitemap</a> • <a href="https://dl.sbr.pm/">Files</a></small><br/>
246 <small class='questions'>Questions, comments ? Please use my <a href="https://lists.sr.ht/~vdemeester/public-inbox">public inbox</a> by sending a plain-text email to <a href="mailto:~vdemeester/public-inbox@lists.sr.ht">~vdemeester/public-inbox@lists.sr.ht</a>.</small><br/>
247 <small class='copyright'>
248 Content and design by Vincent Demeester
249 (<a rel='licence' href='http://creativecommons.org/licenses/by-nc-sa/3.0/'>Some rights reserved</a>)
250 </small><br />
251</footer>
252</footer>
253</body>
254</html>